和为s的两个数字
程序员文章站
2024-03-22 14:29:58
...
剑指offer——和为 s 的两个数字
题目描述
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,则输出任意一对即可。
输入:
[1,2,4,7,11,15],15
返回值:
[4,11]
public ArrayList<Integer> FindNumbersWithSum(int[] arr, int sum){
ArrayList<Integer> list = new ArrayList<>();
if(arr == null || arr.lengt < 2)
return list;
int i = 0;
int j = arr.length - 1;
while(i < j){
if(arr[i] + arr[j] == sum){
list.add(arr[i]);
list.add(arr[j]);
return list;
}
else if(arr[i] + arr[j] < sum){
i++;
}
else{
j--;
}
}
return list;
}
推荐阅读
-
和为s的两个数字
-
和为 s 的连续正数序列
-
定义两个带参的宏,一个用来求s,一个用来求area。写程序,在程序中用带实参的宏名来求面积area.
-
写一个宏可以将一个数字的奇数位和偶数位交换
-
写一个宏可以将一个数字的奇数位和偶数位交换
-
(转)关于两个jar包中存在包名和类名都完全相同的问题 博客分类: Java javajareclipse
-
三重回文数问题E:三重回文数-分支循环小综合[中] 题目描述 判断整数m是否为三重回文数即它是否满足m、m的平方和m的立方均为回文数。 所谓回文数是指其各位数左右对称的数,例如121,676,9424
-
windows上同时安装两个版本的mysql数据库5.7和8.0
-
Cookie和Session-----会话跟踪中的两个重要技术
-
数字签名介绍和java的实现