剑指 Offer 57. 和为s的两个数字

比较简单,第一时间就想到了双指针对撞,但是没有想具体的证明过程。

只有冥冥中感觉这样做是对的。(没有笑哭的表情吗)

剑指 Offer 57. 和为s的两个数字

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int i = 0, j = nums.length -1;
        while(i < j){
            if(nums[i] + nums[j] > target)
                j--;
            else if(nums[i] + nums[j] < target)
                i++;
            else
                return new int[]{nums[i], nums[j]};
        }
        return new int[0];
    }
}

 

posted @ 2021-03-26 15:05  星予  阅读(26)  评论(0编辑  收藏  举报