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

全部评论

相关推荐

WillingLing:查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务