leetcode Two Sum II - Input array is sorted

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;
	}

猜你喜欢

转载自blog.csdn.net/u011243684/article/details/84843384