MentorNode
Start free

Pattern 01 of 08 · two-pointers

Two Pointers

Use converging or parallel index pointers to search pairs, partition arrays, or process sorted sequences in linear time without extra space.

Builds on
Nothing — a good place to start.
Unlocks
Sliding WindowFast & Slow PointersMonotonic Stack & Top-K Heap

See the invariant

Step through it
Pattern InvariantTwo Pointers

Converging search on sorted array: Target Sum = 26

Step 1 of 3
L
2
[0]
7
[1]
11
[2]
15
[3]
19
[4]
R
23
[5]
nums[0] (2)+nums[5] (23)=25<Target (26)

Sum 25 < target (26). Since array is sorted, we MUST increase left pointer (L: 0 to 1) to seek a larger sum.

Speed:

Practice it

3 problems
  1. 1Two Sum II — Sorted Arraytwo-sum-ii-input-array-is-sortedeasy
  2. 23Sum3summedium
  3. 3Container With Most Watercontainer-with-most-watermedium