【leetcode】167. 两数之和 II - 输入有序数组

64 阅读1分钟

leetcode-167.png

双指针

因为是排序好的数组,找目标元素之和,这里就比较好处理,使用双指针来进行查找,可以在n的时间复杂度内完成。

var twoSum = function (numbers, target) {
    let left = 0, right = numbers.length - 1
    while (left < right) {
        let sum = numbers[left] + numbers[right]
        if (sum === target) {
            return [left + 1, right + 1]
        } else if (sum < target) {
            left++
        } else {
            right--
        }
    }
    return [-1, -1]
};