Two Sum II - Input Array Is Sorted - LeetCode 167

An Interactive Visual Explainer

Idea By: Chetan Pachpande | Executed By: Claude

← Back to Home

Two Sum II - Input Array Is Sorted - LeetCode 167

Problem Description:

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.

Let these two numbers be numbers[index1] and numbers[index2] where 1 ≤ index1 < index2 ≤ numbers.length.

Return the indices of the two numbers, index1 and index2, added by one as an integer array [index1, index2] of length 2.

Example: Input: numbers = [2,7,11,15], target = 9 → Output: [1,2] (2 + 7 = 9)

Algorithm Complexity:

Time Complexity: O(n) - Single pass with two pointers

Space Complexity: O(1) - Only using two pointer variables

Unprocessed
Left Pointer
Right Pointer
Target Found

Sorted Array with Two Pointers

Algorithm Steps:

1. Initialize left pointer at start (index 0) and right pointer at end (index n-1)
2. Calculate sum = numbers[left] + numbers[right]
3. If sum > target, move right pointer left (decrease sum)
4. If sum < target, move left pointer right (increase sum)
5. If sum == target, return [left+1, right+1] (1-indexed)