JAVA 两个简单的抽奖算法
不多说了,代码不多,算法也简单
方法一:
/*** 获取中奖号的算法,方法会在每次抽到一个中奖号后,将最后一个号码填充到此位置,实现不重复抽取.* <p>* 经过多次测试,此方法在大数据时速度略优于{@link #booleans()},小数据时差距可忽略* * @return*/public int[] deleteLast(){if(prize <= 0) return new int[0];int[] nums = new int[max];for(int i=0; i<max; i++){nums[i] = i+1;}int[] prizes = new int[prize];int zj = 0;for(int i=0; i<prize; i++){zj = (int) (Math.random() * max);prizes[i] = nums[zj];nums[zj] = nums[--max];}return prizes;}
方法二:
/*** 获取中奖号的算法,方法设置原始数组的值为boolean型,抽中过将值设为true,实现不重复抽取.* <p>* 经过多次测试,此方法在大数据时速度略差于{@link #deleteLast()},小数据时差距可忽略* * @return*/public int[] booleans(){if(prize <= 0) return new int[0];boolean[] nums = new boolean[max];for(int i=0; i<max; i++){nums[i] = false;}int[] prizes = new int[prize];int zjCount = 0;int zj = 0;while(zjCount < prize){zj = (int) (Math.random() * max);if(!nums[zj]){nums[zj] = true;prizes[zjCount++] = zj;}}return prizes;}
借鉴:http://bbs.csdn.net/topics/280080151
JAVA 两个简单的抽奖算法相关推荐
- 蚁群算法java实现_简单蚁群算法 + JAVA实现蚁群算法
一 引言 蚁群算法(ant colony optimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术.它由Marco Dorigo于1992年在他的博士论文中引入,其灵 ...
- 排序和去重--说说两个简单常用的算法
排序 -- 最常用的就是冒泡排序. 冒泡排序: 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完 ...
- 选择排序java代码_JAVA简单选择排序算法原理及实现
简单选择排序:(选出最小值,放在第一位,然后第一位向后推移,如此循环)第一位与后面每一个逐个比较,每次都使最小的置顶,第一位向后推进(即刚选定的第一位是最小值,不再参与比较,比较次数减1) 复杂度: ...
- Java两种简单的获取页面源码的方法
2019独角兽企业重金招聘Python工程师标准>>> package demo11;import java.io.IOException; import java.net.Malf ...
- java抽奖程序_java怎么做出简单的抽奖程序?实例代码展示
自从20世纪90年代以来,java编程语言的发展如火如荼,不仅仅应用于高新产业的壮大发展,还涉及到了我们的日常生活,为我们的生活带来了更多的便利与快捷方法.今天主要为大家介绍一下,如何用java做出一 ...
- java实现抽奖游戏_Java实现游戏抽奖算法
常用抽奖算法对比 基础的游戏抽奖算法通常要求实现在指定奖品的集合中,每个奖品根据对对应概率进行抽取.个人了解的主要有以下几中抽奖算法: 随机数一一对应 算法思想 这种算法思想最为简单.将n个奖品编号0 ...
- java 快速排序算法简单_排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序......
先推荐一篇关于排序算法的文章:http://www.cppblog.com/guogangj/archive/2009/11/13/100876.html 本文思路部分来源于上篇文章,但测得的结果似乎 ...
- 蚁群算法画图java_[转载]简单蚁群算法 + JAVA实现蚁群算法
一 引言 蚁群算法(ant colony optimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术.它由Marco Dorigo于1992年在他的博士论文中引入,其灵 ...
- C语言、Java学习笔记(三)---几种简单的排序算法
假期已经过了一半,整个人都变得颓废了许多.今天没有出去玩,就学了几个简单的排序算法,以求安慰自己,好歹也是在假期里学习过了.(瘫- C 这里一次性给出三种排序方法的代码,分别是冒泡排序,选择排序和归并 ...
最新文章
- go net.conn读取请求头信息_go语言网络编程socket sever的实现
- 【luogu P4005 清华集训2017】小Y和地铁
- Centos6.6安装zabbix server 3.2
- 【JavaSE_07】Java中类和对象-封装特性-思维导图
- 算法笔记_226:填符号凑算式(Java)
- Docker运行参数详解
- 建立局域网计算机应安装,两台电脑如何建立局域网
- llinux文本三剑客之grep、egrep及相应的正则表达式和用法
- Android创建项目java报错,创建Android工程时报错:Errors running builder 'Android resource manager' on project '项目...
- Android开发 ——线性布局文件、TextView、ListView的基本写法
- 分享三:mysql跨库查询
- iOS 使用mp4v2合成的视频注意事项
- Java多线程看着一篇足够了!
- 观察数据时易出错的点
- 【Books系列】2021年:《断舍离》读书笔记
- C++在一个类中定义另一个有参数构造函数的类的对象
- 上美股份在港交所开启招股:业绩将继续下滑,吕义雄提前大额套现
- JavaScript词汇表
- 「分辨率比拼」还不够,4D成像雷达进入“软”竞争时代
- 十二月英语学习总结-希冀
热门文章
- web_cache_server -- Varnish
- Java Mybatis Xml写法 查询语句的动态设计总结
- Linux字符驱动程序的基本结构与函数
- 如何在Windows下安装Linux子系统(Ubuntu,openSUSU,SUSU Linux Server)
- 开发技巧-使用SQL与Navicat快速导出一个自定义的MYSQL数据库字段表格(数据字典)为Word或Excel
- php memcached mysql_PHP Memcached使用详解
- 利用python将txt文件中的内容写入Excel文件中
- 在Ubuntu 20.04 LTS中配置Java开发环境
- one thread one loop
- 第4章:分布式数据库 HBase