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

2020-11-18  本文已影响0人  BitterOutsider

题目描述

输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。

解题思路

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

猜你喜欢

热点阅读