Arrays

Foundation for most algorithmic patterns — used for traversal, windowing, prefix computation, in-place manipulation, and searching/sorting optimisations.

1.0 Traversal and Basic Manipulation

  1. Iteration Patterns
  2. In-place overwrites
  3. Avoid extra space

2.0 N-Pointers

  1. Opposite Ends
  2. Same Direction
  3. Kth smallest sum/ distance

3.0 Sliding Window

  1. Fixed Size
  2. Variable Size
  3. Monotonic Queue

4.0 Prefix Sum and Difference Arrays

  1. Prefix sum for subarray range
  2. Prefix hash (char counts)
  3. Difference array for range update tricks

5.0 Max and Min Subarray Patterns

  1. Local vs Global Subarrays
  2. Restarting Subarrays
  3. Track best-so far

6.0 Sorting + Partitioning Patterns

  1. Dutch National Flag
  2. Wiggle sort
  3. QuickSelect / Partition around pivot

7.0 Binary Search on Arrays

  1. Binary search in rotated array
  2. First/last occurrence
  3. Search on answer space (partitioned search space)

8.0 Rearrangement, Duplicates, Cyclic Sort

  1. In-place rearrangement
  2. Cyclic sort to detect missing/misplaced

9.0 Advanced Matrix Handling (2D Arrays)

  1. Spiral traversal
  2. Rotation in-place
  3. Search in sorted matrix

10.0 Special Mentions

  1. Kadane’s Algo
  2. Merge Intervals
  3. Rainwater Trapping
  4. Inversions
  5. Next Permutations
  6. Moore’s Voting (Majority element)
  7. Floyd’s Algorithm (Cycle Detection)