import java.util.*;


public class Solution {
    /**
     * 
     * @param numbers int整型一维数组 
     * @param target int整型 
     * @return int整型一维数组
     */
    public int[] twoSum (int[] numbers, int target) {
        // write code here
        int[] a = Arrays.copyOf(numbers,numbers.length);
        Arrays.sort(numbers);
        int min = 0,max = numbers.length - 1;
	  //排序找出两个值
        while(max > min){
            if(numbers[max] + numbers[min] > target){
                max--;
                min = 0;
                continue;
            }
            if(numbers[max] + numbers[min] == target){
                break;
            }
            min++;
        }
        int[] rin = new int[2];
        int j = 0;
	  //然后再找出下标
        for(int i = 0; i < a.length; i++){
            if(a[i] == numbers[min] || a[i] == numbers[max]){
                rin[j] = i + 1;
                j++;
            }
        }
        return rin;
    }
}