剑指OFFER 和为S的两个数字
Posted virgil_devil
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指OFFER 和为S的两个数字相关的知识,希望对你有一定的参考价值。
剑指OFFER 和为S的两个数字
class Solution {
public:
vector<int> FindNumbersWithSum(vector<int> array,int sum) {
int left = 0;
int right = array.size()-1;
vector<int> v;//结果数组
int pro = INT_MAX;
while(left < right)
{
if(array[left] + array[right] > sum)
{
right--;
}else if(array[left] + array[right] < sum)
{
left++;
}else{
//只有满足乘积最小才添加到结果数组当中
if(array[left]*array[right]<pro)
{
v.clear();
pro = array[left]*array[right];
v.push_back(array[left]);
v.push_back(array[right]);
}
left++;
right--;
}
}
return v;
}
};
以上是关于剑指OFFER 和为S的两个数字的主要内容,如果未能解决你的问题,请参考以下文章
[剑指offer]面试题41:和为s的两个数字VS和为s的连续正数序列