Two Sum II
Learn how to solve the 'Two Sum II' problem. This detailed resource details brute force and optimized approaches.
Problem Statement
Given a 1-indexed array of integers numbers that is already sorted in non-decreasing order, find two numbers such that they add up to a specific target number.
Return the indices of the two numbers, index1 and index2, added by one as an integer array [index1, index2] of length 2.
You may not use the same element twice. Your solution must use only constant extra space.
Write a function twoSum(numbers: List[int], target: int) -> List[int].
- •2 <= len(numbers) <= 3 * 10^4
- •-1000 <= numbers[i] <= 1000
- •numbers is sorted in non-decreasing order
- •-1000 <= target <= 1000
- •Exactly one solution exists
Examples
numbers = [2, 7, 11, 15], target = 9
[1, 2]
2 + 7 = 9. The indices are 1 and 2 (1-indexed).
numbers = [2, 3, 4], target = 6
[1, 3]
2 + 4 = 6. The indices are 1 and 3 (1-indexed).
numbers = [-1, 0], target = -1
[1, 2]
-1 + 0 = -1. The indices are 1 and 2 (1-indexed).
Need a Hint?
Edge Cases to Watch
- Empty list or null input variables
- Single item lists/arrays
- Extremely large input bounds causing integer or stack overflow
Ready to Solve?
Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.