Approach 1: Two-Pointer

class Solution:
    def twoSum(self, numbers: List[int], target: int) -> List[int]:
        l, r = 0, len(numbers) - 1
 
        while l < r:
            total = numbers[l] + numbers[r]
 
            if total > target:
                r -= 1
            elif total < target:
                l += 1
            else:
                return [l + 1, r + 1]
        
        return [-1, -1]
 

Complexity

Time:
Space:

Notes

Other Languages