Two Pointers · Medium

Two Sum II - Input Array Is Sorted

O(N) · O(1)

Initialize Two Pointers

Array is sorted. Set left pointer L=0 (val 2) and right pointer R=3 (val 15).

Array Elements & Pointers
L
2
L
7
[1]
11
[2]
R
15
R
Live Variables & Invariants
target:9
left:0
right:3
sum:17
Step 1 / 7
14%
Solution Code
1
function twoSumII(numbers: number[], target: number): number[] {
2
  let left = 0, right = numbers.length - 1;
3
  while (left < right) {
4
    const sum = numbers[left] + numbers[right];
5
    if (sum === target) return [left + 1, right + 1];
6
    else if (sum < target) left++;
7
    else right--;
8
  }
9
  return [];
10
}
LeetCode IDE Console

Test Cases

4 cases from Blind 75 & NeetCode 150

Ask for a hint whenever you get stuck.