Remove Duplicates (Sorted)

easy

Remove duplicates from sorted array in-place, return new length

Remove Duplicates (Sorted)

Key Insight

Slow pointer marks unique position, fast scans for new unique values

Step 1Setup
slow
0
0
fast
0
1
1
2
1
3
2
4
same direction

Slow at 0 (position for unique), Fast starts scanning from 1.

1 / 5

Learn the Pattern

Practice the Code

Step-by-Step Walkthrough: Remove Duplicates (Sorted)

Slow pointer marks unique position, fast scans for new unique values

  1. Setup

    Slow at 0 (position for unique), Fast starts scanning from 1.

  2. Duplicate Found

    nums[fast]=0 equals nums[slow]=0. Skip, move fast only.

  3. New Unique Found

    nums[fast]=1 ≠ nums[slow]=0. Move slow, copy value.

  4. Another Unique

    nums[fast]=2 ≠ nums[slow]=1. Move slow, copy value.

  5. Done

    New length = slow + 1 = 3. First 3 elements are unique.