美文网首页
和为S的两个数字

和为S的两个数字

作者: Crazy_Bear | 来源:发表于2020-07-28 09:33 被阅读0次
  • 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
  • C++ 代码
class Solution {
public:
    vector<int> FindNumbersWithSum(vector<int> array,int sum) {
        
        int i,j;
        vector<int> res;
        if(array.empty())return res;
        for(i=0,j=array.size()-1;i<j;)
            if(array[i]+array[j]==sum) 
            {
                if(res.empty()) 
                {
                 res.push_back(array[i]);
                 res.push_back(array[j]);
                }
                else if(array[i]*array[j]<res[0]*res[1])
                {
                 res[0]=array[0];
                 res[1]=array[1];
                }
                i++;
                j--;
                
            }
        
            else if(array[i]+array[j]>sum) 
                j--;
            else i++;
        
        
        return res;
    }
};

相关文章

  • 和为S的两个数字

    输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数...

  • 和为S的两个数字

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,...

  • 和为S的两个数字

    输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数...

  • 和为S的两个数字

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,...

  • 和为S的两个数字

    题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输...

  • 和为S的两个数字

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,...

  • 和为S的两个数字

    时间限制:1秒 空间限制:32768K 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们...

  • 和为S的两个数字

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,...

  • 和为s的两个数字

    输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数...

  • 和为s的两个数字

    题目链接 :https://leetcode.cn/problems/he-wei-sde-liang-ge-sh...

网友评论

      本文标题:和为S的两个数字

      本文链接:https://www.haomeiwen.com/subject/noljlktx.html