1. 程式人生 > >LeetCode_167. 兩數之和 II - 輸入有序陣列

LeetCode_167. 兩數之和 II - 輸入有序陣列

因為前提條件是升序 加上是兩個數 可以考慮雙索引數進行左右移動
public int[] twoSum(int[] numbers, int target)
    {
        // 設定雙向索引數
        int left = 0, right = numbers.length-1;
        // 新建一個二維陣列
        int res[] = new int[2];
        while(left < right)
        {
            // 確定滿足值的大小
            if((numbers[left] + numbers[right]) == target)
            {
                res[0] = left + 1;
                res[1] = right + 1;
                break;
            }
            // 數是升序 所以按照和的大小移動指標
            else if((numbers[left] + numbers[right]) > target)
                right--;
            else
                left++;
        }

        return res;
    }