`
zqb666kkk
  • 浏览: 731862 次
  • 性别: 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算法大全源码 java算法大全源码

    java算法大全源码java算法大全源码java算法大全源码java算法大全源码java算法大全源码java算法大全源码java算法大全源码java算法大全源码java算法大全源码java算法大全源码java算法大全源码java算法大全源码java算法...

    Java算法集题大全.zip

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

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

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

    Java算法大全描述java的常用数据结构

    java算法大全,常用数据结构java算法大全,常用数据结构java算法大全,常用数据结构java算法大全,常用数据结构java算法大全,常用数据结构java算法大全,常用数据结构java算法大全,常用数据结构java算法大全,常用...

    几个推荐算法的java实现

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

    JAVA经典算法面试39题及答案

    在 JAVA 编程中,算法设计尤其重要,因为它直接影响着程序的性能和可扩展性。 经典算法面试题目 以下是本资源中的一些经典算法面试题目,每个题目都附带答案和解析: 程序 1:兔子生长问题 题目:古典问题:有...

    遗传算法实现公交车调度MATLAB

    遗传算法是一种模拟自然界生物进化过程的优化方法,它在解决复杂问题时表现出强大的搜索能力和全局优化性能。在公交车调度问题中,遗传算法可以用来优化公交线路的安排、发车时间、车辆分配等,以达到提高服务效率、...

    斗地主出牌算法(java版)

    【斗地主出牌算法(Java版)】是基于Java JDK1.6开发的一款核心算法,主要用于网页Flash版的斗地主游戏客户端。斗地主是一款广受欢迎的三人扑克游戏,其策略性和趣味性深受玩家喜爱。算法设计的目的是为了模拟玩家在...

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

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

    JAVA近百种算法大全

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

    java的算法题(一)

    共有7个 很不错的java算法题 共有7个 很不错的java算法题 共有7个 很不错的java算法题 共有7个 很不错的java算法题 共有7个 很不错的java算法题 共有7个 很不错的java算法题

    java算法学习手册

    在Java这个强大的编程平台上,掌握算法是提升软件开发效率和质量的关键。下面我们将深入探讨一些核心的算法和数据结构概念,以及它们在Java中的应用。 1. **数据结构基础**:数据结构是存储和组织数据的方式,包括...

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

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

    Java实现随机森林算法

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

    Java节假日算法(免费)

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

    Java 算法导论 电子书

    《Java算法导论》是一本深入探讨如何在Java编程环境中应用算法的重要著作。这本书的目标是帮助读者理解并掌握算法的设计、分析以及实现,通过使用Java编程语言,使学习过程更为直观和实用。以下是对该书内容的一些...

    java 24 点算法

    一个java24点算法

    祖冲之密码算法Java实现

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

    java kmeans聚合算法

    在本例中,描述提到了从Pascal语言转换到Java实现,这意味着我们将讨论如何在Java环境下构建KMeans算法来处理坐标数据,如找出一千个坐标的重心点。 KMeans算法的基本步骤如下: 1. **初始化**:选择K个初始质心...

    java mrp算法实现

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

Global site tag (gtag.js) - Google Analytics