Two Sum II - Input array is sorted
public class Solution {
/**
* @param nums: an array of Integer
* @param target: target = nums[index1] + nums[index2]
* @return: [index1 + 1, index2 + 1] (index1 < index2)
*/
public int[] twoSum(int[] nums, int target) {
// write your code here
if (nums == null || nums.length < 2) {
return new int[0];
}
for (int l = 0, r = nums.length - 1; l < r; r--) {
while (l < r && nums[l] + nums[r] < target) {
l++;
}
if (l != r && nums[l] + nums[r] == target) {
return new int[] {l + 1, r + 1};
}
}
return new int[0];
}
}
最后更新于
这有帮助吗?