`

随机分配算法(Intege)

    博客分类:
  • Java
阅读更多
参考资料:
http://blog.csdn.net/yaerfeng/article/details/18362623
http://www.zuidaima.com/code/file/2214023444104192.htm?dir=/2214023444104192.java
以下为抢红包的随机分配的Integer实现,主要参考以:抢红包的随机分配红包算法

/**
     * 根据分配数值随机分配到N个,总和等于:allotRange
     * @param allolTotal 分配的总和
     * @param allotSize 分配大小
     * @param allotMinVal 分配最小值
     * @return
     */
    public static Iterator<Integer> allot(int allolTotal, int allotSize, int allotMinVal) {

        List<Integer> randoms = new ArrayList<Integer>(allotSize);

        for (int i = 0; i < allotSize; i++) {

            int safe_total = (allolTotal - (allotSize - i) * allotMinVal) / (allotSize - i);

            int random = new Random().nextInt(safe_total - allotMinVal) + allotMinVal;
            if (random < allotMinVal) {
                random = allotMinVal;
            }
            if (i == allotSize - 1) {
                random = allolTotal;
            }

            allolTotal -= random;
            randoms.add(random);
        }
        return randoms.iterator();
    }
分享到:
评论

相关推荐

    前端开源库-max-safe-integer

    前端开源库-max-safe-integermax safe integer,es2015 number.max_safe_integer ponyfill

    Java数据类型及其转换详解

    ⑴ Java简单类型与封装类 我们知道,Java语言是典型的支持面向对象的程序语言,但考虑到有些基本数据类型的结构简单,占内存小且存取速度快等优点,Java依然提供了对这些非面向对象的简单数据类型的支持。...

    java基础教程301集225 int与Intege与Strin.mp4

    java基础教程301集225 int与Intege与Strin.mp4

    图片放大镜效果

    实现图片的放大镜效果的源码,欢迎下载! procedure TForm1.ImageCopy(BoxCenterX,BoxCenterY, BoxSide: Integer); begin with SourceRect do begin Left:=BoxCenterX-BoxSide; Top:=BoxCenterY-BoxSide;...

    java统计关键字个数

    通过args传参,读取文件,统计java代码中的关键字个数

    详解Java中int和Integer的区别

    主要介绍了Java中int和Integer的区别文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    常用的JQuery数字类型验证正则表达式整理

    代码如下: var regexEnum = { intege:”^-?[1-9]//d*$”, //整数 intege1:”^[1-9]//d*$”, //正整数 intege2:”^-[1-9]//d*$”, //负整数 num:”^([+-]?)//d*//.?//d+$”, //数字 num1:”^([1-9]//d*|0)$”, //正数...

    实验4 线程编程实验.doc

    实验4 线程编程实验.doc

    VBA程序设计习题.docx

    VBA程序设计习题全文共5页,当前为第1页。VBA程序设计习题全文共5页,当前为第1页。VBA程序设计习题 VBA程序设计习题全文共5页,当前为第1页。... 阅读下面程序: sub cal() Dim intTotal As Integer Dim i As Intege

    muboard:基于虚拟网络的数学黑板,支持Markdown和LaTeX

    Muboard 是一个很小的实用程序,可以将数学显示板作为网页运行。 Muboard使您可以使用Markdown和LaTeX快速绘制数学代码段,同时在现实世界或虚拟会议中向其他人展示桌面屏幕。...For any positive intege

    32个常用的正则绝对有你要的

    1. "^-?[1-9]\\d*$",//整数 2. "^[1-9]\\d*$", //正整数 3. intege2:"^-[1-9]\\d*$", //负整数

    Python中的Numpy矩阵操作

    Numpy 通过观察Python的自有数据类型,我们可以发现Python原生并不提供多维数组的操作,那么为了处理... It is a table of elements (usually numbers), all of the same type, indexed by a tuple of positive intege

    Maven.Quiz3-1

    测验3概述测验分为5个部分。 基本面VowelUtils StringUtils PigLatinGenerator困难数组SquareArrayAnalyzer ... Boolean isVowel(Character character) 如果character是a , e , i , o或u ,则返回true Intege

    Redis 不使用 keys 命令获取键值信息的方法

    1. 问题来源 这个问题可能看起来很奇怪,但很多 redis 集群会有一个统一的入口,入口会作兼容 redis 命令的代理,一般出于新能考虑是禁止使用 keys 命令来获取键值信息的,但是可以通过 scan 命令来代替 keys...(intege

    JavaScript数值千分位格式化的两种简单实现方法

    在对数值进行格式化的时候,一个常见的问题是按照千分位格式化,网上对这个问题已经有很多种解决方法了,还可以利用Array.prototype.reduce方法来实现千分位格式化。 function formatNumber(num) { ... intege

    数据库设计规范(4).doc

    "int "java.lang.Intege" " " " "r " 11 单据日期时间 "字段名字 "字段说明 "数据库类型 "JAVA类型 " "dbilldate "单据日期 "char(19) "nc.vo.pub.lang.UFDate " "taudittime "审核时间 "char(19) "nc.vo.pub.lang....

    jsoSchema:Javascript 对象架构

    架构 jsoSchema 是一种引擎和一种模式语言,用于验证 javascript 对象(通常,但不总是,在浏览器和 Web 服务器之间发送的 json 数据)。...// create a schema which matches either a positive intege

    R语言学习笔记【4】R语言中的编程

    STA3050 Lec4笔记 1、创建函数 se&lt;-function(x){ n&lt;-length(x) # find the sample size return(sd(x)/sqrt(n)) } #这里的n是局部变量 创建函数的另一种写法 ...-function(x){sd(x)/sqrt(length(x))} ...intege

    详谈jQuery中的一些正则匹配表达式

    intege2: ^-[1-9]\\d*$, //数字 num: ^([+-]?)\\d*\\.?\\d+$, //正数(正整数 + 0) num1: ^[1-9]\\d*|0$, //负数(负整数 + 0) num2: ^-[1-9]\\d*|0$, //浮点数 decmal: ^([+-]?)\\d*\\.\\d+$, //正浮点数 decmal1...

    leetcode不会-leetcode:带有文档的谜题!

    leetcode 不会 [] :green_book: 简单的 给定一个整数数组,查找该数组是否包含任何重复项。 如果任何值在数组中至少出现两次,您的函数应该返回 true,如果每个元素都是不同的,它应该返回 ...intege

Global site tag (gtag.js) - Google Analytics