‹ DS&A interview · Socratic
DSA · Two Pointers · #180

Two Sum II - Input Array Is Sorted

Module 69 · difficulty 2/5·30:00starts on first keystroke

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. Return the indices of the two numbers, index1 and index2, added by one as an integer array [index1, index2] of length 2. The tests are guaranteed to have exactly one solution. You may not use the same element twice. Your solution must use only constant extra space. Because the array is 1-indexed, the returned indices are 1-based: index1 < index2, both in the range [1, numbers.length].

Examples
  • numbers = [2,7,11,15], target = 9 [1,2]numbers[1] + numbers[2] = 2 + 7 = 9, so we return [1, 2].
  • numbers = [2,3,4], target = 6 [1,3]numbers[1] + numbers[3] = 2 + 4 = 6, so we return [1, 3].
  • numbers = [-1,0], target = -1 [1,2]numbers[1] + numbers[2] = -1 + 0 = -1, so we return [1, 2].
Constraints
  • · 2 <= numbers.length <= 3 * 10^4
  • · -1000 <= numbers[i] <= 1000
  • · numbers is sorted in non-decreasing order.
  • · -1000 <= target <= 1000
  • · The tests are generated such that there is exactly one solution.
Session phases
A · Clarify
B · Approach
C · Complexity
D · Edges
E · Code
F · Tradeoff
G · Score
Phase A — Clarify
Ask questions about input bounds, types, and edge constraints.
Ask the coach clarifying questions about the problem.
When you've covered this phase, advance to the next.