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

猜你喜欢

转载自blog.csdn.net/king1994wzl/article/details/82894795