不多说了,代码不多,算法也简单

方法一:

/*** 获取中奖号的算法,方法会在每次抽到一个中奖号后,将最后一个号码填充到此位置,实现不重复抽取.* <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 两个简单的抽奖算法相关推荐

  1. 蚁群算法java实现_简单蚁群算法 + JAVA实现蚁群算法

    一 引言 蚁群算法(ant colony optimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术.它由Marco Dorigo于1992年在他的博士论文中引入,其灵 ...

  2. 排序和去重--说说两个简单常用的算法

    排序 -- 最常用的就是冒泡排序. 冒泡排序: 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完 ...

  3. 选择排序java代码_JAVA简单选择排序算法原理及实现

    简单选择排序:(选出最小值,放在第一位,然后第一位向后推移,如此循环)第一位与后面每一个逐个比较,每次都使最小的置顶,第一位向后推进(即刚选定的第一位是最小值,不再参与比较,比较次数减1) 复杂度: ...

  4. Java两种简单的获取页面源码的方法

    2019独角兽企业重金招聘Python工程师标准>>> package demo11;import java.io.IOException; import java.net.Malf ...

  5. java抽奖程序_java怎么做出简单的抽奖程序?实例代码展示

    自从20世纪90年代以来,java编程语言的发展如火如荼,不仅仅应用于高新产业的壮大发展,还涉及到了我们的日常生活,为我们的生活带来了更多的便利与快捷方法.今天主要为大家介绍一下,如何用java做出一 ...

  6. java实现抽奖游戏_Java实现游戏抽奖算法

    常用抽奖算法对比 基础的游戏抽奖算法通常要求实现在指定奖品的集合中,每个奖品根据对对应概率进行抽取.个人了解的主要有以下几中抽奖算法: 随机数一一对应 算法思想 这种算法思想最为简单.将n个奖品编号0 ...

  7. java 快速排序算法简单_排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序......

    先推荐一篇关于排序算法的文章:http://www.cppblog.com/guogangj/archive/2009/11/13/100876.html 本文思路部分来源于上篇文章,但测得的结果似乎 ...

  8. 蚁群算法画图java_[转载]简单蚁群算法 + JAVA实现蚁群算法

    一 引言 蚁群算法(ant colony optimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术.它由Marco Dorigo于1992年在他的博士论文中引入,其灵 ...

  9. C语言、Java学习笔记(三)---几种简单的排序算法

    假期已经过了一半,整个人都变得颓废了许多.今天没有出去玩,就学了几个简单的排序算法,以求安慰自己,好歹也是在假期里学习过了.(瘫- C 这里一次性给出三种排序方法的代码,分别是冒泡排序,选择排序和归并 ...

最新文章

  1. go net.conn读取请求头信息_go语言网络编程socket sever的实现
  2. 【luogu P4005 清华集训2017】小Y和地铁
  3. Centos6.6安装zabbix server 3.2
  4. 【JavaSE_07】Java中类和对象-封装特性-思维导图
  5. 算法笔记_226:填符号凑算式(Java)
  6. Docker运行参数详解
  7. 建立局域网计算机应安装,两台电脑如何建立局域网
  8. llinux文本三剑客之grep、egrep及相应的正则表达式和用法
  9. Android创建项目java报错,创建Android工程时报错:Errors running builder 'Android resource manager' on project '项目...
  10. Android开发 ——线性布局文件、TextView、ListView的基本写法
  11. 分享三:mysql跨库查询
  12. iOS 使用mp4v2合成的视频注意事项
  13. Java多线程看着一篇足够了!
  14. 观察数据时易出错的点
  15. 【Books系列】2021年:《断舍离》读书笔记
  16. C++在一个类中定义另一个有参数构造函数的类的对象
  17. 上美股份在港交所开启招股:业绩将继续下滑,吕义雄提前大额套现
  18. JavaScript词汇表
  19. 「分辨率比拼」还不够,4D成像雷达进入“软”竞争时代
  20. 十二月英语学习总结-希冀

热门文章

  1. web_cache_server -- Varnish
  2. Java Mybatis Xml写法 查询语句的动态设计总结
  3. Linux字符驱动程序的基本结构与函数
  4. 如何在Windows下安装Linux子系统(Ubuntu,openSUSU,SUSU Linux Server)
  5. 开发技巧-使用SQL与Navicat快速导出一个自定义的MYSQL数据库字段表格(数据字典)为Word或Excel
  6. php memcached mysql_PHP Memcached使用详解
  7. 利用python将txt文件中的内容写入Excel文件中
  8. 在Ubuntu 20.04 LTS中配置Java开发环境
  9. one thread one loop
  10. 第4章:分布式数据库 HBase