和为S的两个数字 java
2016-10-09 17:13
162 查看
题目描述
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述:
对应每个测试案例,输出两个数,小的先输出。
public ArrayList<Integer> FindNumbersWithSum(int[] array, int sum) { int len = array.length; int low = 0; int hight = len - 1; ArrayList<Integer> list = new ArrayList<Integer>(); while (low < hight) { int curren = array[low] + array[hight]; if (curren == sum) { list.add(array[low]); list.add(array[hight]); break; } while (curren > sum && low < hight) { hight--; curren = array[low] + array[hight]; if (curren == sum) { list.add(array[low]); list.add(array[hight]); break; } } low++; } return list; }
相关文章推荐
- Java—接受键盘输入的两个数字进行比较大小
- android、Java下判断两个String是否相等 、EditText输入是否为空,限定输入数字的实现
- java 随机长度10位数组,输入两个数字,找出差值最小的
- 【剑指offer-Java版】41和为s的两个数字VS和为s的连续正数序列
- java循环练习:手动输入两个数字m和n,运算求出m~n之间所有偶数的和
- 用JAVA写一个函数交换两个数字
- 剑指Offer(Java版):和为s的两个数字VS和为s的连续正数序列
- java 将一个字符串里连续两个及以上数字反转
- java 将一个字符串里连续两个及以上数字反转
- java交换两个数字位置
- Java判断两个数字大小代码实例
- java 两个int数组删除重复的数字,并返回删除后的数组
- java作业:两个数字的最大公约数和最小公倍数
- Java里不用第三变量完成两个数字的交换
- 剑指Offer面试题41(Java版):和为s的两个数字VS和为s的连续正数序列
- android、Java下判断两个String是否相等 、EditText输入是否为空,限定输入数字的实现 总结
- Java判断两个数字大小代码实例
- java两个大数字相加
- java integer对象判断两个数字是否相等
- 和为S的两个数字 java