Two Sum II - Input array is sorted
public int[] twoSum(int[] nums, int target) {
int len = nums.length;
int sum = 0, l = 0, r = len - 1;
// 因为此题nums里一定是偶数个数,肯定会找到target,所以直接用l < r 也可以
// 普通的binary search需要用 l + 1 < r
while (l < r) {
sum = nums[l] + nums[r];
if (sum == target) return new int[]{l + 1, r + 1};
else if (sum < target) l++;
else r--;
}
return null;
}Last updated