您的位置:首页 > 其它

和为S的两个数字

2016-08-07 11:10 204 查看


题目描述

输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 
输出描述:

对应每个测试案例,输出两个数,小的先输出。

class Solution {

public:

    vector<int> FindNumbersWithSum(vector<int> array,int sum) 

    {

       

        vector<int>   num;

        vector<int>   out;

          int len=array.size();

         if(len < 2)return num;

      

        int start=0;

        int end=len-1;

        int currentsum=0;

        while(end>start)

            {

             currentsum=(array[start]+array[end]);

             if(currentsum==sum)

             {

                   num.push_back(array[start]);

                   num.push_back(array[end]);

                 return num;

             }

            else if(currentsum<sum)

                start++;

            else

                end--;   

            

            }

         return num;  

   

            

    }

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: