`
qinya06
  • 浏览: 595554 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

从1亿个数字中取出最大的100个

阅读更多
import java.util.Random; 
import java.util.Set; 
import java.util.TreeSet; 

public class TestSF { 

public static Set<Integer> getTop100(int[] inputArray) { 

TreeSet<Integer> top100 = new TreeSet(); 
for (int i = 0; i < inputArray.length; i++) { 

if (top100.size()<100){ 
top100.add(inputArray[i]); 
}else if ((Integer)top100.first()<inputArray[i]){ 
Object obj = top100.first(); 
top100.remove(obj); 
top100.add(inputArray[i]); 
} 

} 

return top100; 

} 

public static void main(String[] args) { 

int numberCount = 100000000; 

int maxNumber = numberCount; 

int inputArray[] = new int[numberCount]; 

Random random = new Random(); 

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

inputArray[i] = Math.abs(random.nextInt(maxNumber)); 

} 

System.out.println("Sort begin..."); 

long current = System.currentTimeMillis(); 

Set<Integer> result = TestSF.getTop100(inputArray); 

System.out.println("Spend time:"+(System.currentTimeMillis() - current)); 


} 

} 
分享到:
评论

相关推荐

    javascript从一亿个数中找出最大的100个 或者n个

    从一亿个数中找出最大的100个 或者n个 用了个堆从一亿个数中找出最大的100个 或者n个 用了个堆

    poj经典数据结构题目解题报告

    然而,当数据范围非常大时,如本题中的20000个数字,每个数字最大为50000,数组大小将达到1亿,无法直接内存分配。 在第三种尝试中,开发者考虑使用链表来存储数据,期望减少排序操作。链表可以提供O(1)的插入和...

    java笔试题目 最详尽的java笔试题目

    - 找出 10 亿个浮点数中的最大 1 万个,可以使用最小堆(优先队列)来实现。将前 1 万个数放入堆中,之后每遇到一个数,如果它比堆顶元素大,则替换堆顶元素并调整堆。这样堆中始终保存着当前遇到的最大 1 万个数。...

    微软经典面试笔试题目

    解答:从每个罐子中取出与罐子编号相同数量的药丸,将这些药丸放在一起称重。被污染的药丸重量增加,根据实际重量与正常重量之间的差值可以推算出被污染药丸的数量,从而确定被污染的罐子。 **4. 如何确定开关和灯...

    苏教版五上数学期中复习题2精选.doc

    前50个图形中,每5个一组,○有10个,☆有30个。 10. 大数改写与省略尾数:1380000000人等于138000万人,省略亿后面的尾数是14亿人。 11. 平行四边形面积与周长:平行四边形活动框架的面积无法判断,因为没有具体...

    程序员二进制计算器 v1.36

    %val 519322y = 51.9322tril (2012年国内生产总值,y是后缀运算符,表示前值乘以1亿) 6-固定比例输出格式 (1)按百分比输出 %2 %2将结果按百分比格式输出,例如: 对150种食品进行抽查,仅105种合格,合格率...

    小学数学毕业升学考试卷汇总共25套.doc

    1. 数字转换:题目中提到的101830000美元需要改写成以“万”为单位的数,以及四舍五入到亿位,这是数字大小的转换技巧,涉及到整数的进位和舍去规则。 2. 估算:在解决数学问题时,估算是一种快速近似计算的方法。...

    六年级数学综合试题精选.doc

    3. 在长方形中画一个半径最大的圆,圆的半径通常是长方形较短边的一半,面积计算公式为πr²。 六、解决问题: 1. 设梨的重量为y千克,根据题意列出方程:3y - 10 = 230。 2. 设梨的重量为z千克,根据题意列出方程...

    苏教版四年级数学上册第四次月考试题.docx

    - 问题8描述了一个有红蓝球各5个的袋子,为了确保取出两个颜色相同的球,至少需要取出3个球,因为前两次取出不同颜色的球,第三次肯定能与前两次中的某一种颜色匹配。 9. **快速心算**: - 二部分直接写出得数的...

    人教版小学数学六年级毕业升学考试卷汇总共25套.doc

    1. 数字转换与近似值:题目中提到将101830000美元改写成以"万"为单位的数,并四舍五入到亿位,涉及到数字的进位和四舍五入规则。在数学中,将一个数改写成以"万"为单位,就是要除以10000;四舍五入到亿位,要看千万...

    微软谜语面试题.docx

    这样,随机选择一个罐子后,如果选中包含红球的罐子,就能以100%概率取出红球。 6. **为何镜子中的影像会颠倒左右,而不颠倒上下?** - 镜像的形成是由于光的反射原理,镜子不会颠倒上下是因为我们习惯性地站立...

    月六年级数学下册期末模拟题精选.doc

    - 大数的读法与改写:8114000000 读作八十一亿一千四百万,改写成以“亿”为单位是81.14亿。 - 百分数的应用:98% 表示百分比,可以转换成小数0.98。 5. 数学概念与性质: - 自然数的性质:A-B=1 时,A和B的最小...

    七上试卷第二章有理数单元测试卷(A)【华师大版】精选.doc

    11377亿保留两位有效数字是11000亿,即1.1 * 10^4亿。 11. **小数的科学记数法**:0.0625用科学记数法表示为6.25 * 10^-2。 12. **整数的范围**:在-3.5和2.5之间的整数有-3, -2, -1, 0, 1, 2,共6个。 13. **...

    2014年六年级数学月考试卷无答案

    在中文中,数字的表示方法遵循从高位到低位的规则,亿是10^8,千万是10^7,百万是10^6,十万是10^5,万是10^4,千是10^3。因此,这个数写作1,840,509,000,改写成以万为单位即18,405.09万。 2. 单位换算:5吨820...

    (精选五套试卷)【浙教版】小学数学小升初试题(含答案)(1).pdf

    1. 数字和数值的理解:在第一道选择题中,涉及到数字"4"在7.49亿中的意义,需要理解亿位上的数字所代表的数值范围。 2. 百分数应用:第二题考察了百分比的计算,包括提价和降价对原价的影响,需要计算出两次百分比...

    2021年小学数学小升初测试题及答案(四)数学知识.doc

    118900平方米读作“十一万八千九百”,2688000000元读作“二十六亿八千八百万”。 3. 圆规用来画圆,其两脚尖的距离即为圆的半径。若直径为8cm,半径则为4cm。 4. 时针每小时走过的角度是360°/12=30°,因此6小时...

    人教版小学数学六年级毕业模拟试卷汇总.doc

    四舍五入到亿位,则需要对千万位上的数字进行判断,这里是8,根据四舍五入规则,不进位,因此四舍五入后为1亿美元。 2. **估算技巧**:估算24.01 - 7.98时,可以取近似值24 - 8 = 16进行计算。对于14.9 × 2.03的积...

    数学小学毕业模拟测试卷2精选.doc

    1. 数字表示和近似值:题目中提到的小数,其整数部分是最大的两位数(99),小数部分的千分位是最小的合数(4),百分位上是最小的质数(2),十分位是最小的偶数(0)。这个数就是99.024,用四舍五入法省略百分位后...

    (精选五套试卷)【北京版】小学数学小升初一模试题(含答案)(2).pdf

    1. 数字和数值的理解:在第一道选择题中,问题涉及到数位的概念,"4"在7.49亿中表示4000万。 2. 百分数的应用:第二题中,原价100元的衣服先提价10%再降价10%,通过计算可以理解百分比的增减对原值的影响。 3. ...

Global site tag (gtag.js) - Google Analytics