题目:输入一个已经按升序排序过的数组和一个数字,
在数组中查找两个数,使得它们的和正好是输入的那个数字。
要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出所有符合条件的组合即可。
例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。
import java.util.ArrayList;
import java.util.List;
public class GetNumInList {
class Pair{
private int a;
private int b;
public Pair(int a,int b){
this.a=a;
this.b=b;
}
@Override
public String toString() {
return "[" + a + ", " + b + "]";
}
}
/**
* 从数组中找到一对数字的和与指定值相同
* @param orignal 待查找的数组
* @param found 待查找的数字
* @return
*/
public static List<Pair> findNum(List<Integer> orignal, int found) {
List<Pair> result = new ArrayList<Pair>();
int current = 0, last = 0;
int length = orignal.size();
for (int i = 0; i < length; i++) {
current = i;
last = i + 1;
while (last <= length - 1) {
if (found == (orignal.get(current) + orignal.get(last))) {
result.add(new GetNumInList().new Pair(orignal.get(current),orignal.get(last)));
}
last++;
}
}
return result;
}
/**
* @param args
*/
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
for (int i = 1; i < 10; i++) {
list.add(i);
}
List<Pair> result=GetNumInList.findNum(list, 10);
for(Pair pair:result){
System.out.println(pair);
}
}
}
分享到:
相关推荐
### 编程猫图形化编程测评试题知识点解析 #### 知识点一:角色跟随鼠标的速度调节 **题目描述:** 角色使用特定积木后能够缓慢地跟随鼠标移动。问题是如何在不更换积木的情况下,让角色更快地跟随鼠标移动。 **...
其他说明:文档内的试题难度适中,涵盖了广泛的知识领域,不仅测试了理论知识的理解程度,还注重考察学生的实际编程操作技能。建议在备考阶段多次练习文档提供的习题,尤其是针对易错点和难点加强训练。
以下是对这些编程题目中涉及的知识点的详细解析: 1. 分数序列求和:这个问题涉及到序列处理和数学计算。你可以使用循环结构来生成序列,并在每次迭代中累加当前项。对于斐波那契数列(如本题所示),可以通过动态...
Java 编程题目解析 在 Java 课程中,编程题目扮演着非常重要的角色,它可以帮助学生巩固所学的知识,提高编程能力和问题解决能力。以下是对给定文件的标题、描述、标签和部分内容的解析,从中可以提取出多个知识点...
标签“java java编程试题 java教程”表明这些编程题目可能被设计为教程的一部分,目的是为了帮助读者更好地学习Java语言。通过教程中的示例题目,读者可以更直观地学习Java的语法结构、类库使用、异常处理等知识点。...
"高级超经典c语言编程题目" 本文档收集了一些高级超经典的 C 语言编程题目,涵盖了数组、循环、判断等多个方面的知识点。这些题目都是来自于实际编程中的一些经典问题,能够帮助开发者更好地掌握 C 语言编程的技巧...
### 蓝桥杯编程猫Kitten模拟试题二知识点解析 #### 一、蓝桥杯简介与背景 蓝桥杯是一项面向全国高等院校在校大学生的IT技术竞赛,旨在培养学生的创新能力及实践能力。其中,“编程猫Kitten”是针对低龄段儿童设计...
电赛历年真题查找与经典题目解析+编程知识+技术开发; 电赛历年真题查找与经典题目解析+编程知识+技术开发; 电赛历年真题查找与经典题目解析+编程知识+技术开发; 电赛历年真题查找与经典题目解析+编程知识+技术...
蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发; 蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发; 蓝桥杯历年真题查找与经典题目解析+编程知识+技术开发; 蓝桥杯历年真题查找与经典题目解析+编程知识...
ACM历年真题查找与经典题目解析+编程知识+技术开发; ACM历年真题查找与经典题目解析+编程知识+技术开发; ACM历年真题查找与经典题目解析+编程知识+技术开发; ACM历年真题查找与经典题目解析+编程知识+技术开发; ...
美赛历年真题查找与经典题目解析+编程知识+技术开发; 美赛历年真题查找与经典题目解析+编程知识+技术开发; 美赛历年真题查找与经典题目解析+编程知识+技术开发; 美赛历年真题查找与经典题目解析+编程知识+技术...
### Java基础编程试题知识点解析 #### 一、字符串与数组操作 **题目1:** - **题目描述**:用户输入一系列由逗号分隔的数字,程序需要支持按升序或降序对这些数字进行排序,并展示排序结果。 **解析**: 1. **字符...
这份文档详细解析了比赛中的所有题目,并提供了参考答案和解析,目的是让更多的学生能在比赛中展示自己的实力,同时也为编程教师提供了教学参考。 文档中提到的五个主要知识点,分别是Python数据结构基础、函数使用...
### 第三期NOC编程猫创新编程赛题回顾模拟题知识点解析 #### 题目一:变量得分的初始值与最终值 - **题目描述**:变量得分的初始值为0,根据给定的程序运行结束后,变量得分的数值变为多少?答案为9。 - **知识点...
2. 编程题目要求: 每个题目都有具体的输入输出文件名,测试点数目,每个测试点分值,时间限制,内存限制以及结果比较方式。例如,对于“语言转换”题目,测试点数目为10,每个测试点分值为10分,时间限制为1秒,...
题目涉及基本的计算机科学知识,如计算思维、算法逻辑、Scratch基础知识及其编程技巧。试题难度适中,考察了考生对编程逻辑的理解能力以及实际操作技能。 适合人群:适合准备参加 GESP 认证考试的学生群体。 使用...
在这个训练模拟题中,我们可以看到各种类型的编程题目,包括变量、循环、条件语句、函数调用等等。这些建议题目可以帮助学生巩固编程基础知识,并且逐步提高编程能力。 在这个训练模拟题中,我们可以看到许多实用的...
内容概要:本文档收录了第四届蓝桥杯竞赛的所有编程试题及其答案解析,涵盖了一系列算法和编程挑战,如计算日期、数值谜题、数学问题以及编码逻辑挑战等。通过解答具体实例,详细阐述了各个问题的背景、快速解题技巧...
标题 "2009国际编程大赛题目" 涉及的是一个编程竞赛的历年试题集,这通常包含一系列挑战性的编程问题,旨在测试参赛者的算法设计、数据结构掌握以及问题解决能力。这样的比赛有助于提升程序员的逻辑思维和编程技巧,...
**解析说明**:此题的具体解析信息缺失,但从题目的描述来看,雪球需要通过分析提示图中的程序逻辑来确定正确的行动路线。这类问题通常涉及循环、条件判断等编程基础概念的应用,需要考生根据给定的提示图进行逻辑...