/**
* @param {number[]} numbers
* @param {number} target
* @return {number[]}
*/
var twoSum = function (numbers, target) {
let l = 0,
r = numbers.length - 1,
sum = 0;
while (l < r) {
sum = numbers[l] + numbers[r];
if (sum === target) {
return [l + 1, r + 1];
}
sum < target ? l++ : r--;
}
};
Python Code
class Solution(object):
def twoSum(self, numbers, target):
"""
:type numbers: List[int]
:type target: int
:rtype: List[int]
"""
l, r = 0, len(numbers) - 1
while l < r:
s = numbers[l] + numbers[r]
if s < target: l += 1
elif s > target: r -= 1
else: return [l + 1, r + 1]