Two Sum II - Input array is sorted 题目:https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/
解题思路:
在一个有序数组中,寻找两个数的和等于指定的元素的值。
使用两个指针,一个指向第一个元素,一个指向最后一个元素。
如果他们的和大于目标值,指定最后一个元素的指针向前移动。
如果他们的和小于指定的目标值,指向第一个元素的指针向后移动。
public static void main(String[] args) {
int[] arr={2, 7, 11, 15};
int target=9;
int[] ints = twoSum(arr, target);
System.out.println(Arrays.toString(ints));
}
public static int[] twoSum(int[] numbers, int target) {
int[] arr=new int[2];
int i=0;
int j=numbers.length-1;
while(i<j){
if(numbers[i]+numbers[j]<target){
i++;
}else if(numbers[i]+numbers[j]>target){
j--;
}else{
arr[0]=i+1;
arr[1]=j+1;
return arr;
}
}
return null;
}