看了编程珠玑的这个问题,一看到是顺序已经排好,很多人会想到二分查找,
其实不然,线性搜索就可以做到。
/**
* 问题描述:
* 给定包含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万研制出了能在太空写字的钢笔,请问对此前苏联是怎么做的呢?
分享到:
相关推荐
- Container With Most Water: 给定一个数组,其中每个元素代表一个宽度为1的柱子高度,要求找出两个柱子,使得它们之间能盛最多量的水。 - Integer to Roman / Roman to Integer: 这两个问题分别要求将整数转换为...
输入的第一行包含一个正整数 \(n\)(\(1 \leq n \leq 100\)),表示有 \(n\) 堆石子。接下来的一行包含 \(n\) 个整数,表示每堆石子的数量。 #### 三、输出格式 输出两行,第一行为所有合并方案中的最小得分,第二...
- **问题**: 给定集合A和一个正整数K,构造一个大于K的最小正整数。 - **解法**: 优先考虑集合中的数字进行组合,从小到大尝试组合,直到找到符合条件的数。 ### 百度面试题解析 **24. 字符串反转** - **问题**...
8. 代数式的表示:一个两位数可以用代数式表示,例如10a+b,其中a是十位数字,b是个位数字。 9. 面积的计算:阴影部分的面积可以通过几何图形的组合来计算,这里涉及到两个长方形和一个正方形的重叠部分。 10. ...
编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小(输出应包括所去掉的数字的位置和组成的新的正整数,N不超过240位)。 21、 对于下图给出的有向网,写出用Dijkstra方法求从顶点A到图中其它顶点的最短...
常用的Linux命令包括ls列出目录内容、cd切换目录、pwd显示当前目录路径、cp复制文件或目录、mv移动或重命名文件、rm删除文件或目录、mkdir创建新目录、rmdir删除目录、touch创建空文件或修改文件时间戳等。...
17. **平方根的性质**:一个正数的两个平方根互为相反数,可以据此解出正数。 18. **不等式**:解不等式,找出m和n的关系。 19. **新定义运算**:根据给定的运算规则推导出新运算的规律。 20. **比较价格优惠**:...
旅行商问题是一个经典的组合优化问题,目标是寻找一个最短的可能路线,使得旅行商能够访问给定数量的城市,并返回起点,每个城市仅访问一次。 在模拟退火算法中,我们首先需要理解其基本原理。模拟退火是受到固体...
以上是针对给定内容提炼出的一系列数学知识点,包括一元一次不等式的表示和解法、数轴的应用、不等式性质、解不等式组和实际问题的解决策略。这些内容是初中阶段学习的重点,有助于培养学生的逻辑思维和解决问题的...
要找出3^2012的个位数字,需要确定2012除以4的余数,由于2012能被4整除,所以其个位数字与3^4相同,即1。 12. **等边三角形分割**:第十二题涉及到等边三角形的分割,每次操作会增加4个等边三角形。要得到2017个...
2. **最简二次根式**:一个二次根式被称为最简二次根式,如果它的被开方数不含完全平方数,且根号内没有分母。例如,√5是最简二次根式,而√4不是。 3. **根式运算规则**:二次根式可以遵循一定的运算法则,例如√...
在C++中,有两种给出注释的方法:一种是延用C语言方法,使用"/*"和"*/"括起注释文字。另一种方法是使用"//",从"//"开始,直到它所在行的行尾,所有字符都被作为注释处理。 2-8 什么叫做表达式?x = 5 + 7是一个...
11. 相反数和倒数:一个数的相反数是它的负数形式,而倒数是1除以这个数,比如3641的相反数是-41,-23的倒数是-32。 12. 代数式的展开与简化:(x+1)(y-1)可以展开为xy-x-y+1,结合已知条件xy=-2,x-y=...
18. 点P的跳跃规律:点P的跳跃遵循一个固定的模式,根据这个模式可以计算出第100次和第2009次跳跃后的坐标。 19. 整数点的排列:根据点的移动顺序,找出第100个点的坐标。 20. 点的连续移动:分析点A的移动路径,...
- **定义**: 欧拉回路是指一个无向图中的每条边恰好被经过一次的回路;而欧拉路则是指在无向图中起点和终点不同的路径,这条路径同样恰好包含每条边一次。 - **应用场景**: 在网络设计、电路布局等问题中具有重要...
25. 不等式的解:解不等式并将其在数轴上表示,找出正整数解。 26. 应用题:这是一道与实际生活相关的数学问题,涉及函数关系、代数运算和解应用题的能力。 28. 资源分配优化问题:通过最小化运输成本,找出最优的...
13. **除法意义**:判断题3正确,小数除法与整数除法的意义相同,都是表示一个数被另一个数分成多少等份。 14. **图形旋转**:判断题4错误,旋转不改变图形的形状和大小,只改变位置和方向。 15. **倍数关系**:...
4. **平方与立方**:第四题指出有理数的平方是正数,进而推理其立方可能是正数或负数,这是因为立方运算包含了三次幂,可以得到正负两种结果。 5. **负数的个数与积的符号**:第五题涉及到乘法中负数个数与积的符号...
**问题描述**:给定一个整数数组,找出一个具有最大和的连续子数组(至少包含一个数),并返回其最大和。 **解题思路**:可以使用单调队列来解决这个问题。通过维护一个单调递增的队列,使得队列头部始终是最小值,...