题解 | #和为S的两个数字#
和为S的两个数字
https://www.nowcoder.com/practice/390da4f7a00f44bea7c2f3d19491311b
class Solution {
public:
vector<int> FindNumbersWithSum(vector<int> array,int sum)
{
int left=0,right=array.size()-1;
while(left<right)
{
int tmp=array[left]+array[right];
if(tmp>sum)//我们算的值大于给的sum值,我们就将right往左边挪一位
{
right--;
}
else if(tmp<sum)//我们算的值小于sum的话,我们直接将left进行++操作
{
left++;
}
//tmp=sum的情况,我们直接将这个符合的两个数字进行返回的操作就行了
else return {array[left],array[right]};//将这连个变量括起来我们就能进行返回操作了
}
//照顾编译器我们会强行返回一个结果的
return { };
}
};



360集团公司氛围 350人发布