`
ol_beta
  • 浏览: 289388 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

新解:给定包含4 300 000 000个32位整数的顺序文件,如何找出一个至少出现两次的整数。

阅读更多

看了编程珠玑的这个问题,一看到是顺序已经排好,很多人会想到二分查找,

其实不然,线性搜索就可以做到。

/**
 * 问题描述:
 * 给定包含4 300 000 000个32位整数的顺序文件,
 * 如何找出一个至少出现两次的整数
 * 
 * @author Oliver
 *
 */
public class FindTwice {
    
    /**
     * 由于4 300 000 000 >2^32,所以必然存在重复的整数
     * 考虑到内存的问题,可以先读取一部分,然后查找
     * 这里假设一次读取10个
     */
    public static void main(String[] args) {
        int[] arr = {2,3,4,5,7,11,12,12,13,14,15};
        int iCount=0;
        int increase=arr[0];
        for(;iCount<arr.length;iCount++){
            if(arr[iCount]>iCount+increase){
                increase+=(arr[iCount]-iCount-increase);
                continue;
            }
            if(arr[iCount]<iCount+increase){
                System.out.println("重复的数字是:"+arr[iCount]);
                break;
            }
        }
    }
}
 

忽然又想到这个有趣的笑话:

美国宇航局花了100万研制出了能在太空写字的钢笔,请问对此前苏联是怎么做的呢?

分享到:
评论

相关推荐

    _leetcode-python.pdf

    - Container With Most Water: 给定一个数组,其中每个元素代表一个宽度为1的柱子高度,要求找出两个柱子,使得它们之间能盛最多量的水。 - Integer to Roman / Roman to Integer: 这两个问题分别要求将整数转换为...

    石子合并 在一个圆形操场的四周摆放着 n 堆石子. 现要将石子有次序地合并成一堆, 规定每次只能选相邻的 2 堆石子合并成新的一堆, 并将新的一堆石子数记为该次合并的得分.

    输入的第一行包含一个正整数 \(n\)(\(1 \leq n \leq 100\)),表示有 \(n\) 堆石子。接下来的一行包含 \(n\) 个整数,表示每堆石子的数量。 #### 三、输出格式 输出两行,第一行为所有合并方案中的最小得分,第二...

    镇江市属学校七年级数学期中试题及答案精选.doc

    8. 代数式的表示:一个两位数可以用代数式表示,例如10a+b,其中a是十位数字,b是个位数字。 9. 面积的计算:阴影部分的面积可以通过几何图形的组合来计算,这里涉及到两个长方形和一个正方形的重叠部分。 10. ...

    算法分析与设计习题集答案

    编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小(输出应包括所去掉的数字的位置和组成的新的正整数,N不超过240位)。 21、 对于下图给出的有向网,写出用Dijkstra方法求从顶点A到图中其它顶点的最短...

    大厂面试系列二.pdf

    常用的Linux命令包括ls列出目录内容、cd切换目录、pwd显示当前目录路径、cp复制文件或目录、mv移动或重命名文件、rm删除文件或目录、mkdir创建新目录、rmdir删除目录、touch创建空文件或修改文件时间戳等。...

    初一年级数学上册期中考试题(含答案).docx

    17. **平方根的性质**:一个正数的两个平方根互为相反数,可以据此解出正数。 18. **不等式**:解不等式,找出m和n的关系。 19. **新定义运算**:根据给定的运算规则推导出新运算的规律。 20. **比较价格优惠**:...

    abc.zip_ABC_TSP ABC_TSP 退火

    旅行商问题是一个经典的组合优化问题,目标是寻找一个最短的可能路线,使得旅行商能够访问给定数量的城市,并返回起点,每个城市仅访问一次。 在模拟退火算法中,我们首先需要理解其基本原理。模拟退火是受到固体...

    七年级数学下册第8章一元一次不等式单元综合检测5新版华东师大版20200310162

    以上是针对给定内容提炼出的一系列数学知识点,包括一元一次不等式的表示和解法、数轴的应用、不等式性质、解不等式组和实际问题的解决策略。这些内容是初中阶段学习的重点,有助于培养学生的逻辑思维和解决问题的...

    江苏省扬中市七年级数学上学期第一次月考试题.doc

    要找出3^2012的个位数字,需要确定2012除以4的余数,由于2012能被4整除,所以其个位数字与3^4相同,即1。 12. **等边三角形分割**:第十二题涉及到等边三角形的分割,每次操作会增加4个等边三角形。要得到2017个...

    中考数学专题复习二次根式能力提升练习(含答案)-7页.pdf

    2. **最简二次根式**:一个二次根式被称为最简二次根式,如果它的被开方数不含完全平方数,且根号内没有分母。例如,√5是最简二次根式,而√4不是。 3. **根式运算规则**:二次根式可以遵循一定的运算法则,例如√...

    语言程序设计课后习题答案

    在C++中,有两种给出注释的方法:一种是延用C语言方法,使用"/*"和"*/"括起注释文字。另一种方法是使用"//",从"//"开始,直到它所在行的行尾,所有字符都被作为注释处理。 2-8 什么叫做表达式?x = 5 + 7是一个...

    八年级数学上册 第二章 实数单元综合测试 (新版)浙教版.doc

    11. 相反数和倒数:一个数的相反数是它的负数形式,而倒数是1除以这个数,比如3641的相反数是-41,-23的倒数是-32。 12. 代数式的展开与简化:(x+1)(y-1)可以展开为xy-x-y+1,结合已知条件xy=-2,x-y=...

    平面直角坐标系规律题.doc

    18. 点P的跳跃规律:点P的跳跃遵循一个固定的模式,根据这个模式可以计算出第100次和第2009次跳跃后的坐标。 19. 整数点的排列:根据点的移动顺序,找出第100个点的坐标。 20. 点的连续移动:分析点A的移动路径,...

    ACM常用模板及北大ACM-题型分类代码

    - **定义**: 欧拉回路是指一个无向图中的每条边恰好被经过一次的回路;而欧拉路则是指在无向图中起点和终点不同的路径,这条路径同样恰好包含每条边一次。 - **应用场景**: 在网络设计、电路布局等问题中具有重要...

    江苏省盐城市阜宁县东沟中学2012-2013学年七年级数学下学期期末考试试题

    25. 不等式的解:解不等式并将其在数轴上表示,找出正整数解。 26. 应用题:这是一道与实际生活相关的数学问题,涉及函数关系、代数运算和解应用题的能力。 28. 资源分配优化问题:通过最小化运输成本,找出最优的...

    部编版五年级数学上册期中考试题(新版).pdf

    13. **除法意义**:判断题3正确,小数除法与整数除法的意义相同,都是表示一个数被另一个数分成多少等份。 14. **图形旋转**:判断题4错误,旋转不改变图形的形状和大小,只改变位置和方向。 15. **倍数关系**:...

    江苏省兴化顾庄等三校2014-2015学年七年级数学上学期第一次月度联考试题.doc

    4. **平方与立方**:第四题指出有理数的平方是正数,进而推理其立方可能是正数或负数,这是因为立方运算包含了三次幂,可以得到正负两种结果。 5. **负数的个数与积的符号**:第五题涉及到乘法中负数个数与积的符号...

    数据结构(一)初学者必备

    **问题描述**:给定一个整数数组,找出一个具有最大和的连续子数组(至少包含一个数),并返回其最大和。 **解题思路**:可以使用单调队列来解决这个问题。通过维护一个单调递增的队列,使得队列头部始终是最小值,...

Global site tag (gtag.js) - Google Analytics