`
fairplay
  • 浏览: 4029 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

答复: 一道腾讯面试题:从大量数字中取出 top 100

阅读更多
从1亿个数字中取出最大的100个
JVM需要调到-Xmx1024M,以免溢出

public class findValue {
	
	public static void main(String[] args){
			
		int max = 10000*10000;
		int length=100;
		int ints[] = new int[max];
		Random random = new Random();
		for (int i=0;i<max;i++) {
			ints[i]=Math.abs(random.nextInt(max));
		}
		List<Integer> list = new ArrayList();

		long start = System.currentTimeMillis();
		int size=0;
		int value=0;
		list.add(ints[0]);
		for(int i=1;i<max;i++){
			value=ints[i];
			size=list.size();
			if(value<list.get(size-1)){
				if(size<length){
					list.add(value);
				}
				continue;
			}else if(value>list.get(0)){
				list.add(0,value);
				if(size==length){
					list.remove(size);
				}
				continue;
			}
			
			for(int j=0;j<size;j++){
				if(value>list.get(j)){
                                              //如果不需要排除重复数字,则去掉该判断
					if(j>0&&value!=list.get(j-1)){
						list.add(j,value);
						if(size==length){
						  list.remove(size);
						}
					}
					break;
				}
			 }
		}
		
		System.out.println("time:"+(System.currentTimeMillis()-start));
		
		System.out.println(list);
		TreeSet<Integer> set = new TreeSet();
		set.addAll(list);
		
		System.out.println(set.size()+":"+list.size());
		if(set.size()!=list.size()){
			System.out.println("error");
		}
		int i=0;
		for(Iterator<Integer> it=set.iterator();it.hasNext();){
			value=it.next();
			System.out.println(value+":"+list.get(list.size()-1-i));
			if(value!=list.get(list.size()-1-i)){
				System.out.println("error");
				break;
			}
			i++;
		}
	}
}


E2160 3G
time:2453
分享到:
评论

相关推荐

    答复: 一道经典线程面试题的4种解法

    标题中的“答复: 一道经典线程面试题的4种解法”暗示了这是一个关于多线程编程的问题,通常在面试中出现,用于评估候选人的并发处理能力。在这个问题中,可能涉及到同步、线程安全、锁机制等关键概念。 在Java中,...

    精品资料(2021-2022年收藏)造价师案例辅导:竣工结算考试题.docx

    【造价师案例辅导:竣工结算考试题】 竣工结算在建筑工程中是至关重要的环节,涉及到项目的经济效益和承包商的收益。以下是一些相关的知识点: 1. **资金成本**:在第一题中提到了债券筹资,计算成本率时要考虑...

    行政人事文员面试题及答案

    ### 行政人事文员面试题解析 #### 一、请写出企业常用的公文文种?...以上是对给定文件中面试题的详细解答。通过这些答案,不仅可以帮助应聘者更好地准备面试,也能让企业了解到应聘者对于行政工作的理解和应对能力。

    答复: PHP验证框

    在Web开发中,确保用户提交的数据安全、有效是至关重要的。PHP作为服务器端脚本语言,可以处理并验证用户通过HTML表单提交的数据。下面将详细讨论PHP验证框的相关知识点。 1. **基本概念** - 验证框:在HTML中,...

    答复: 通过代码简单介绍JDK 7的MethodHandle,并与.NET的委托对比(二)

    标题中的“答复: 通过代码简单介绍JDK 7的MethodHandle,并与.NET的委托对比(二)”表明本文将深入探讨Java中的MethodHandle概念,并将其与.NET平台上的委托进行对比。MethodHandle是JDK 7引入的一个强大特性,它...

    事业单位考试备考:公文写作模拟试题及答案.doc

    公文写作是事业单位考试中的重要组成部分,涉及到各类公文的基本格式、内容和使用场景。以下是对公文写作相关知识点的详细解释: 1. **公文标题**:公文的标题通常由发文机关、事由和文种三部分构成,例如“关于XXX...

    上海造价工程师安装计量:通风工程考试题.docx

    文档标题提及的是“上海2016年造价工程师安装计量:通风工程考试题”,这表明内容涉及的是造价工程师资格考试的通风工程部分。通风工程是建筑工程中的一个分支,主要关注建筑内部的空气流通、温度控制和空气质量维护...

    三年级英语暑假作业之句子改写练习.doc

    - 肯定答复与否认答复:对一般疑问句的回答,肯定答复用“Yes, + 主语 + 助动词/情态动词。”,否定答复用“No, + 主语 + 助动词/情态动词 + not。” 2. 具体题目解答: - 1. It is fun at school. 否认句:It is...

    初中七年级英语上学期期中考试题(无答案)人教新目标版 试题.doc

    11. 答复疑问句:第十二题展示了对一般疑问句"Yes, I do"的肯定回答。 12. 自我介绍:第十三题中,当被问到姓名时,应回答"My name is ...". 13. 介绍他人:第十四题的"This is Tony"是向他人介绍的基本句型。 14...

    100道面试常见问题+经典面试题.doc

    点评:回答问题要从对方入题,引起对方好感,使对方感到你能尊重,关心公司的需要,愿为公司尽微薄之力。 职业发展 问题:如果本公司录用你,你最希望在哪个部门工作? 回答:本人希望到 XX 部门,但也很乐意接受...

    贵州造价工程师安装计量:给排水工程试题实用.pdf

    14. **防潮层设置**:建筑物地下室墙体需设置两道防潮层,一道位于地下室墙附近,另一道在室外地面散水以上150~200mm处。 15. **招标人确定中标人期限**:在评标委员会提交书面评标报告后,招标人通常在规定时间内...

    2020年阿里精选面试题及答案_2020年阿里精选面试题及答案_阿里_

    《2020年阿里精选面试题及答案.pdf》这份文档应该包含了这些领域的具体问题和推荐的答复,它为求职者提供了一个宝贵的参考,帮助他们在面试中展现出专业性和对阿里巴巴文化的理解,从而提高成功入职的可能性。...

    答复: 喜欢和使用Portal的朋友请进!

    博文链接:https://eric2007.iteye.com/blog/158580

    云南省初中统考2019年七年级上学期英语期末考试试题(模拟卷一).pdf

    5. **邀请与答复**:第五题展示了如何礼貌地拒绝邀请,"I'm sorry." 是一种常见的回应方式。 6. **指示代词**:第六题涉及到指示代词 "this" 的用法,用于指代近处的物品。 7. **拼写规则**:第七题询问如何拼写...

    通信工程师面试题.doc

    通信工程师面试题 本文档总结了通信工程师面试题相关的知识点,涵盖了TCP/IP、HTTP、CP/IP、网络通信协议、线路互换、分组互换等领域。 一、TCP/IP协议 TCP/IP协议是一组涉及TCP(传输控制协议)协议和IP(网际...

    18年8月计算机应用基础考试题.pdf

    18. 公式输入:第十八题指出在Excel中插入公式可以点击“编辑栏”左侧的“插入函数”按钮,或者在“公式”选项卡中操作,但不能通过“插入”选项卡中的“对象”按钮。 19. 行距设置:第十九题提到设置24磅行距应...

    2016年下半年北京造价工程师工程计价:工程造价资料试题.pdf

    13. **建设工程索赔程序**:索赔意向通知发出后的28天内,承包人应提交索赔报告及相关资料,工程师未在28天内答复或提出进一步要求,视为索赔被认可。 14. **钢筋性能**:抗拉性能是钢筋的最主要性能,因为它通常...

Global site tag (gtag.js) - Google Analytics