和为S的两个数字
和为S的两个数字
http://www.nowcoder.com/questionTerminal/390da4f7a00f44bea7c2f3d19491311b
/*
输入一个递增排序的数组和一个数字S,在数组中查找两个数,
使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
/
class Solution {
public:
vector<int> FindNumbersWithSum(vector<int> array,int sum) {
vector<int> myarray;
if(array.size()<=1)
{
return myarray;
}
int min=0;
int max=array.size()-1;
int sum1;
while(min<max)
{
sum1=array[min]+array[max];
if(sum1>sum)
{
max--;
}
else if(sum1<sum)
{
min++;
}
else
{
myarray.push_back(array[min]);
myarray.push_back(array[max]);
break;
}
}
return myarray;
}
};/</int></int></int>
输入一个递增排序的数组和一个数字S,在数组中查找两个数,
使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
*/
class Solution {
public:
vector<int> FindNumbersWithSum(vector<int> array,int sum) {
vector<int> myarray;
if(array.size()<=1)
{
return myarray;
}
int min=0;
int max=array.size()-1;
int sum1;
while(min<max)
{
sum1=array[min]+array[max];
if(sum1>sum)
{
max--;
}
else if(sum1<sum)
{
min++;
}
else
{
myarray.push_back(array[min]);
myarray.push_back(array[max]);
break;
}
}
return myarray;
}
};</int></int></int>