`
zqb666kkk
  • 浏览: 733930 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

在公交车上想出的一个java算法

阅读更多

回老家要做2个小时公交,是在太无聊了,脑海开始跳动波涛,于是产生一个想法:

 

现在 地球上有 1亿个人  有的人编号是 0 有的人编号是1,也有重复编号的人,编号范围是0-100,现在这些人要进入某个体育馆,体育馆的进入权限是这样的,必须是编号为0的人先进然后依次按从小到大进,直到编号为100的人进去后才会关门,禁止其他人进入,在这个过程中比如第一个人编号为0的人已经进去了,第二个一个编号为0的人就不能进来了,

输出的意思 就是:已经进来的这101个人按照编号0到100依次排开来

 

public static void main(String[] args) {
  // TODO Auto-generated method stub
  Set<Integer> nums = new HashSet<Integer>(); //set这个就把这个重复问题解决了
   
  while (nums.size() != 101) {    //这个while循环的作用是 保证生成101个数字

   int tempNum = (int) Math.round(Math.random() * 100);    //这是产生0-100的随机数
   nums.add(tempNum);    //然后添加进set集合

  }
  System.out.println(nums.size());
  Integer[] integerArray = nums.toArray(new Integer[nums.size()]);    //然后把这个不重复的0-100的  set集合转化成integer数组
  Arrays.sort(integerArray);    //通过Arrays.sort进行排序  ,从小到大排序

  for (Integer i : integerArray) {
   System.out.println(i);    //然后输出

  }
 }

 

 

   好开心终于写出来了, 

有更好的方法

进  酷影先锋 网址:javazhou.com进行留言

分享到:
评论
3 楼 zqb666kkk 2011-07-14  
赞 一楼的,我很久没上了 呵呵 ,确实表达了我的想法,比我那个写的好,呵呵
2 楼 lannerK 2011-06-27  
欢迎和我讨论你的算法,我的email : lannerk@qq.com
1 楼 lannerK 2011-06-27  
你这个算法,和你的想法有出入,因为你的想法是 “体育馆的进入权限是这样的,必须是编号为0的人先进然后依次按从小到大进,直到编号为100的人进去后才会关门,禁止其他人进入,在这个过程中比如第一个人编号为0的人已经进去了,第二个一个编号为0的人就不能进来了,”
所以,能加进数组的,就相当于已经进门了,所以加进数组的顺序,应该从 0 1 2 ...这样加进去,而不是加完进去再排序,所以算法应该这样写,并且去掉排序,因为进门的号码都是随机的

public static void main(String args[])throws Exception{

int i = 0;
List<Integer> numsArray = new ArrayList<Integer>();

while(i<101){
int tmp = (int) Math.round(Math.random() * 100);//随机进入场馆的人
System.out.println(tmp);
System.out.println("现在可以进场的号码是:["+i+"]");
if(tmp==i){//随机到是当前可以进入的号码才放行
   numsArray.add(i);
   i++;
}
sleep(1);//程序执行过快,会让cpu吃不消,所以要sleep一下
}
System.out.println("可以关门了,现在输出一下进场的人");
for (Integer num:numsArray) {
   System.out.println(num);//然后输出
  }
}

相关推荐

    Java算法集题大全.zip

    Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法...

    JAVA算法编程题目及答案.doc

    该题目要求学习者编写一个JAVA程序来打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。该题目旨在考察学习者对水仙花数的理解和编程能力。 程序 4:将一个正整数分解质因数 第四...

    JAVA 抽奖算法,JAVA 抽奖算法·

    该JAVA抽奖算法主要通过定义一系列奖品的概率,并基于这些概率计算出具体的抽奖结果。算法能够处理不同数量和不同概率分布的奖品,使得整个抽奖过程更加灵活多变。下面将详细介绍该算法的工作原理、关键步骤以及实现...

    几个推荐算法的java实现

    它首先通过物品相似度构建一个物品邻接网络,然后在此基础上进行SVD,使得推荐更加考虑物品之间的关联性。 - Java实现ItemNeighborSVD需要计算物品间的相似度,可以使用余弦相似度或其他距离度量,再进行SVD处理。...

    Java 算法PDF版

    从给定的文件信息来看,标题“Java算法PDF版”暗示了这是一份关于Java编程语言中的算法应用和实现的资料。尽管描述部分没有提供太多具体的信息,仅表达了分享的意愿,但我们可以根据标题和可能包含的内容来深入探讨...

    Java麻将算法汇总(胡牌算法、AI算法、查胡算法、评估算法、出牌算法)majiang_algorithm-master.zip

    在Java编程领域,麻将算法是游戏开发中的一个重要组成部分,尤其对于设计复杂的AI系统而言。本压缩包"majiang_algorithm-master.zip"包含了一系列与麻将相关的算法实现,如胡牌算法、AI算法、查胡算法、评估算法和出...

    JAVA近百种算法大全

    Java算法大全是一个包含约100种常见算法的资源库,专为Java程序员设计,用于深入理解和实践编程中的各种算法。这些算法涵盖了数据结构、排序、搜索、图论等多个领域,是提升编程技能和解决问题能力的重要工具。下面...

    java算法设计与题解

    《Java算法设计与题解》这本书深入浅出地介绍了排序、查找、图论、动态规划、贪心策略等经典算法,在各个章节中通过理论讲解和实例分析,引导读者逐步掌握这些算法的精髓,并将其应用到实际编程中。 快速排序是一种...

    java排序算法使用及场景说明

    解决方案 1:首先是这一天,并且是访问百度的日志中的 IP 取出来,逐个写入到一个大文件中,然后采用映射的方法,找出每个小文件中出现频率最大的 IP,最后在这 1000 个最大的 IP 中,找出那个频率最大的 IP。...

    公交车路线查询系统 算法 后台数据库设计

    公交车路线查询系统的后台数据库设计是一项复杂的任务,它需要考虑到多个因素,包括数据存储、查询算法、换乘路线算法等。在本文中,我们将逐步深入地介绍公交车路线查询系统后台数据库的设计,包括查询算法、关联...

    JAVA算法编程题汇总(50题及答案)

    本文通过四个 Java 程序解决了 Fibonacci 序列、素数、水仙花数、质因数分解等四个经典的算法问题,展示了 Java 语言在解决算法问题方面的强大能力。 同时,本文也为读者提供了实践 Java 算法编程的机会,让读者...

    java的算法大全集结免费.zip

    Java算法大全集结免费.zip是一个包含了丰富Java算法资源的压缩包,旨在帮助开发者深入理解和掌握Java编程中的各种算法。本文将详细解析其中可能涵盖的关键知识点,包括基础算法、数据结构、排序算法、查找算法以及在...

    进化策略算法公交车调度MATLAB

    总的来说,这个MATLAB项目为学习和实践进化策略算法提供了一个实用案例,有助于提升在人工智能和优化领域的技能。通过理解和改进这个模型,你可以更好地掌握如何解决复杂的调度问题,比如在城市公共交通系统中的应用...

    Java节假日算法(免费)

    Java 节假日算法是指在给定的日期范围内,计算包含假期的天数的算法。在这个算法中,我们可以看到三个类分别是 DateToDate、Vacation 和 WorkDate。下面我们将详细解释这个算法的实现过程。 首先,DateToDate 类中...

    Java实现随机森林算法

    在Java中实现随机森林算法通常需要使用机器学习库,比如Weka或者Apache Spark的MLlib。下面我将展示一个使用Weka库的简单示例,来说明如何使用随机森林算法对数据进行分类。 首先,你需要在项目中引入Weka库。如果...

    java mrp算法实现

    【Java MRP算法实现】是基于Java编程语言构建的一个现代物料需求计划(Material Requirements Planning,简称MRP)系统。MRP系统是企业资源规划(ERP)的重要组成部分,它主要用于优化企业的生产计划,确保在正确的...

    祖冲之密码算法Java实现

    9. **性能优化**:虽然祖冲之算法本身已经设计得很高效,但在Java中实现时,仍需要注意内存管理和计算性能,以适应可能的大规模数据加密需求。 10. **文档编写**:为了方便其他开发者理解和使用你的实现,需要编写...

    java协同过滤推荐算法

    综上所述,Java协同过滤推荐算法是构建个性化推荐系统的重要工具,不仅包括基于用户和基于物品的两种基本方法,还涉及到数据预处理、相似度计算、预测评分和推荐生成等多个环节。在Java环境下,可以通过优化和扩展来...

    人工鱼群算法的java运行代码

    在这个“人工鱼群算法的java运行代码”中,开发者提供了一个使用Java编程语言实现的示例,旨在解决二元二次函数的极值问题。二元二次函数通常具有形式为f(x, y) = ax² + bxy + cy² + dx + ey + f,其中a, b, c, d,...

    JAVA 算法大全

    图论算法在处理复杂网络结构的问题时尤为有用,Dijkstra算法能找出图中两点间的最短路径,Prim或Kruskal算法则能构建一个最小的连通子图,即最小生成树。 动态规划是一种通过构造子问题来求解复杂问题的方法,它...

Global site tag (gtag.js) - Google Analytics