题解 | #和为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 { }; } };