π Arrays
Arrays are the foundation of every coding interview. Most interview problems can be reduced to "scan this array efficiently." Master the four core techniques here and you have a tool for ~40% of LeetCode.
This category contains 72 problems. Use the patterns below to recognize what's being asked, then jump to the problem list at the bottom.
π§ Key Patternsβ
- Two Pointers β Sorted array, find pair/triplet, partition. Move two indices inward or in lockstep.
- Sliding Window β Subarray with property (sum, length, distinct). Grow right, shrink left.
- Binary Search β Sorted/monotonic array, search for value or boundary. .
- Prefix Sum / Difference Array β Range sum queries, count-of-prefix tricks. range after prep.
- Hash Map β Lookups, frequency counts, complement pairs (e.g. Two Sum).
- Kadane / DP-on-array β Max subarray, contiguous best/worst.
β οΈ Common Pitfallsβ
- Off-by-one in
left <= rightvsleft < rightbinary search loops. - Sliding-window: forgetting to shrink the window when the constraint breaks.
- Integer overflow in
(left + right) / 2β useleft + (right - left) / 2.
π Study Resourcesβ
πΊ Videosβ
- NeetCode β Arrays & Hashing playlist
- Aditya Verma β Sliding Window Master Class
- Errichto β Binary Search
π Booksβ
- Cracking the Coding Interview β Gayle Laakmann McDowell β Ch. 1 (Arrays & Strings)
- Algorithm Design Manual β Steven Skiena β Ch. 3 (Data Structures), Ch. 4 (Sorting)
- Elements of Programming Interviews (C#/Java/Python) β Aziz, Lee, Prakash β Ch. 5β6
π Articles & Referencesβ
π» All Arrays Problemsβ
Sum
LeetCode 15 | Difficulty: Medium
Sum Closest
LeetCode 16 | Difficulty: Medium
Sum
LeetCode 18 | Difficulty: Medium
Binary Search
LeetCode 792 | Difficulty: Easy
Check If a Number Is Majority Element in a Sorted Array
LeetCode 1150 | Difficulty: Easy
Check If N and Its Double Exist
LeetCode 1468 | Difficulty: Easy
Container With Most Water
LeetCode 11 | Difficulty: Medium
Contains Duplicate
LeetCode 217 | Difficulty: Easy
Contains Duplicate II
LeetCode 219 | Difficulty: Easy
Contiguous Array
LeetCode 525 | Difficulty: Medium
Count Number of Nice Subarrays
LeetCode 1370 | Difficulty: Medium
Count Number of Pairs With Absolute Difference K
LeetCode 2116 | Difficulty: Easy
Counting Elements
LeetCode 1391 | Difficulty: Easy
Decompress Run-Length Encoded List
LeetCode 1241 | Difficulty: Easy
Find All Duplicates in an Array
LeetCode 442 | Difficulty: Medium
Find All Numbers Disappeared in an Array
LeetCode 448 | Difficulty: Easy
Find First and Last Position of Element in Sorted Array
LeetCode 34 | Difficulty: Medium
Find K Closest Elements
LeetCode 658 | Difficulty: Medium
Find Minimum in Rotated Sorted Array
LeetCode 153 | Difficulty: Medium
Find Minimum in Rotated Sorted Array II
LeetCode 154 | Difficulty: Hard
Find Peak Element
LeetCode 162 | Difficulty: Medium
First Bad Version
LeetCode 278 | Difficulty: Easy
First Missing Positive
LeetCode 41 | Difficulty: Hard
Guess Number Higher or Lower
LeetCode 374 | Difficulty: Easy
Heaters
LeetCode 475 | Difficulty: Medium
K Radius Subarray Averages
LeetCode 2211 | Difficulty: Medium
K-diff Pairs in an Array
LeetCode 532 | Difficulty: Medium
Kth Missing Positive Number
LeetCode 1646 | Difficulty: Easy
Longest Consecutive Sequence
LeetCode 128 | Difficulty: Medium
Longest Turbulent Subarray
LeetCode 1020 | Difficulty: Medium
Majority Element
LeetCode 169 | Difficulty: Easy
Majority Element II
LeetCode 229 | Difficulty: Medium
Max Consecutive Ones
LeetCode 485 | Difficulty: Easy
Max Consecutive Ones II
LeetCode 487 | Difficulty: Medium
Max Consecutive Ones III
LeetCode 1046 | Difficulty: Medium
Maximum Average Subarray I
LeetCode 643 | Difficulty: Easy
Maximum Length of Repeated Subarray
LeetCode 718 | Difficulty: Medium
Maximum Product Subarray
LeetCode 152 | Difficulty: Medium
Maximum Size Subarray Sum Equals k
LeetCode 325 | Difficulty: Medium
Maximum Subarray
LeetCode 53 | Difficulty: Medium
Maximum Subarray Sum with One Deletion
LeetCode 1288 | Difficulty: Medium
Merge Sorted Array
LeetCode 88 | Difficulty: Easy
Minimum Operations to Reduce X to Zero
LeetCode 1776 | Difficulty: Medium
Minimum Size Subarray Sum
LeetCode 209 | Difficulty: Medium
Minimum Swaps to Group All 1's Together
LeetCode 1107 | Difficulty: Medium
Missing Ranges
LeetCode 163 | Difficulty: Easy
Move Zeroes
LeetCode 283 | Difficulty: Easy
Pivot Index
LeetCode 724 | Difficulty: Easy
Plus One
LeetCode 66 | Difficulty: Easy
Product of Array Except Self
LeetCode 238 | Difficulty: Medium
Recover the Original Array
LeetCode 2241 | Difficulty: Hard
Remove Duplicates from Sorted Array
LeetCode 26 | Difficulty: Easy
Remove Duplicates from Sorted Array II
LeetCode 80 | Difficulty: Medium
Remove Element
LeetCode 27 | Difficulty: Easy
Rotate Array
LeetCode 189 | Difficulty: Medium
Search in a Sorted Array of Unknown Size
LeetCode 786 | Difficulty: Medium
Search in Rotated Sorted Array
LeetCode 33 | Difficulty: Medium
Search in Rotated Sorted Array II
LeetCode 81 | Difficulty: Medium
Search Insert Position
LeetCode 35 | Difficulty: Easy
Single Element in a Sorted Array
LeetCode 540 | Difficulty: Medium
Sliding Window Maximum
LeetCode 239 | Difficulty: Hard
Smallest Index With Equal Value
LeetCode 2181 | Difficulty: Easy
Squares of a Sorted Array
LeetCode 1019 | Difficulty: Easy
Subarray Product Less Than K
LeetCode 713 | Difficulty: Medium
Subarray Sum Equals K
LeetCode 560 | Difficulty: Medium
Subarrays with K Different Integers
LeetCode 1034 | Difficulty: Hard
Sum of Beauty in the Array
LeetCode 2138 | Difficulty: Medium
Sum of Unique Elements
LeetCode 1848 | Difficulty: Easy
Summary Ranges
LeetCode 228 | Difficulty: Easy
Trapping Rain Water
LeetCode 42 | Difficulty: Hard
Two Sum
LeetCode 1 | Difficulty: Easy
Two Sum II - Input Array Is Sorted
LeetCode 167 | Difficulty: Medium