LeetCode 167号問題:2つの数の和II-入力秩序配列


タイトルの説明
昇順に配列された秩序配列を指定し、2つの数を見つけて、それらの合計が目標数に等しいようにします.
関数は、index 1とindex 2の2つの下付き値を返す必要があります.index 1はindex 2より小さくなければなりません.
説明:
返される下付きスケール値(index 1およびindex 2)はゼロから始まりません.入力ごとに一意の答えのみが対応し、同じ要素を繰り返し使用できないと仮定できます.例:
入力:numbers=[2,7,11,15]、target=9出力:[1,2]解釈:2と7の和は目標数9に等しい.したがってindex 1=1,index 2=2である.
具体コード
    public int[] twoSum(int[] numbers, int target) {
        if (numbers == null || numbers.length <= 0) {
            return null;
        }
        //     
        int i = 0, j = numbers.length - 1;
        while (i < j) {
            int sum = numbers[i] + numbers[j];
            if (sum == target) {
                return new int[]{i + 1, j + 1};
            } else if (sum < target) {
                i ++;
            } else {
                j --;
            }
        }
        return null;
    }