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: O(n) Space: O(1) Notes Other Languages