和为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>

 查看20道真题和解析
查看20道真题和解析 投递美团等公司10个岗位
投递美团等公司10个岗位