题解 | #和为S的两个数字#
和为S的两个数字
https://www.nowcoder.com/practice/390da4f7a00f44bea7c2f3d19491311b
class Solution { public: vector<int> FindNumbersWithSum(vector<int> array,int target) { //类似力扣第一题,可以使用哈希表,但是本题是升序,可以使用双指针 int left = 0; int right = array.size() - 1; while (left < right){ // 不能取等,因为要两个数 int sum = array[left] + array[right]; if (sum < target){ left++; }else if (sum > target){ right--; }else{ return {array[left], array[right]}; } } return {}; } };