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
- Iteration Patterns
- In-place overwrites
- Avoid extra space
2.0 N-Pointers
- Opposite Ends
- Same Direction
- Kth smallest sum/ distance
3.0 Sliding Window
- Fixed Size
- Variable Size
- Monotonic Queue
4.0 Prefix Sum and Difference Arrays
- Prefix sum for subarray range
- Prefix hash (char counts)
- Difference array for range update tricks
5.0 Max and Min Subarray Patterns
- Local vs Global Subarrays
- Restarting Subarrays
- Track best-so far
6.0 Sorting + Partitioning Patterns
- Dutch National Flag
- Wiggle sort
- QuickSelect / Partition around pivot
7.0 Binary Search on Arrays
- Binary search in rotated array
- First/last occurrence
- Search on answer space (partitioned search space)
8.0 Rearrangement, Duplicates, Cyclic Sort
- In-place rearrangement
- Cyclic sort to detect missing/misplaced
9.0 Advanced Matrix Handling (2D Arrays)
- Spiral traversal
- Rotation in-place
- Search in sorted matrix
10.0 Special Mentions
- Kadane’s Algo
- Merge Intervals
- Rainwater Trapping
- Inversions
- Next Permutations
- Moore’s Voting (Majority element)
- Floyd’s Algorithm (Cycle Detection)