和为S的两个数字(牛客网二十五)
2018-01-25 20:37
134 查看
输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
ArrayList result=new ArrayList();
int end=array.length;
if(end==0)
return result;
end=end-1;
int start=0;
while(start<end)
{
int sumtwo=array[start]+array[end];
if(sumtwo==sum)
{
result.add(array[start]);
result.add(array[end]);
return result;
}
if(sumtwo<sum)
start++;
if(sumtwo>sum)
end--;
}
return result;
}
}
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
ArrayList result=new ArrayList();
int end=array.length;
if(end==0)
return result;
end=end-1;
int start=0;
while(start<end)
{
int sumtwo=array[start]+array[end];
if(sumtwo==sum)
{
result.add(array[start]);
result.add(array[end]);
return result;
}
if(sumtwo<sum)
start++;
if(sumtwo>sum)
end--;
}
return result;
}
}
相关文章推荐
- 牛客网刷题之和为S的两个数字
- 九度 题目1256:找出两个只出现了一次的数字
- 剑指offer——面试题41:和为s的两个数字VS和为s的连续正数序列
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
- 剑指offer(39)-和为S的两个数字
- 和为s的两个数字 VS 和为s的连续正数序列42
- 匹配一个字符串,它由0、1、2组成,并且中间没有两个相邻的数字是相同的(比如,匹配1232101210321020,而不匹配1100123)
- 求输入两个数字 比较大小 输入大的那个数
- 牛客网刷题之用两个栈实现队列
- 剑指offer题解 和为S的两个数字
- 三种交换两个数字的方法
- 牛客网刷题--剑指offer(两个栈实现队列)
- 和为S的两个数字 java
- windy定义了一种windy数,不含前导零且前两个数字只差至少为2的正整数被称为windy数,求A和B之间windy数的个数
- 在排序数组中查找和为给定值的两个数字
- 两个double的数字比较大小
- 和为s的两个数字
- 每天三道冲刺工作--在排序好的数组中查找和为给定值的两个数字
- 剑指offer 01-06解答思路以及代码(顺序数组找特定数字,替换空格字符,链表反转输出,重建二叉树,两个栈实现队列效果,旋转数组最小元素)
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次,请写程序找出这两个只出现一次的数字