https://neetcode.io/ ## Array&Hashing ### easy - [[217. Contains Duplicate]] - [[242. Valid Anagram]] - [[1. Two Sum]] ### medium - [[49. Group Anagrams]] - [[347. Top K Frequent Elements]] - [[238. Product of Array Except Self]] - [[36. Valid Sudoku]] - [[271. Encode and Decode Strings]] - [[128. Longest Consecutive Sequence]] ## Stack ### easy - [[20. Valid Parentheses]] ### medium - [[155. Min Stack]] - [[150. Evaluate Reverse Polish Notation]] - [[22. Generate Parentheses]] - [[739. Daily Temperatures]] - [[853. Car Fleet]] ### hard - [[84. Largest Rectangle in Histogram]] ## Two Pointers ### easy - [[125. Valid Palindrome]] ### medium - [[167. Two Sum II - Input Array Is Sorted]] - [[15. 3Sum]] - [[11. Container With Most Water]] ### hard - [[42. Trapping Rain Water]] ## Binary Search ### easy - [[704. Binary Search]] ### medium - [[74. Search a 2D Matrix]] - [[875. Koko Eating Bananas]] - [[153. Find Minimum in Rotated Sorted Array]] - [[33. Search in Rotated Sorted Array]] - [[981. Time Based Key-Value Store]] ### hard - [[4. Median of Two Sorted Arrays]] ## Sliding Window ### easy - [[121. Best Time to Buy and Sell Stock]] ### medium - [[3. Longest Substring Without Repeating Characters]] - [[424. Longest Repeating Character Replacement]] - [[567. Permutation in String]] ### hard - [[76. Minimum Window Substring]] - [[239. Sliding Window Maximum]] ## Linked List ### easy - [[206. Reverse Linked List]] - [[21. Merge Two Sorted Lists]] - [[141. Linked List Cycle]] ### medium - [[143. Reorder List]] - [[19. Remove Nth Node From End of List]] - [[138. Copy List with Random Pointer]] - [[2. Add Two Numbers]] - [[287. Find the Duplicate Number]] - [[146. LRU Cache]] ### hard - [[23. Merge k Sorted Lists]] - [[25. Reverse Nodes in k-Group]] ## Trees ### easy - [[226. Invert Binary Tree]] - [[104. Maximum Depth of Binary Tree]] - [[543. Diameter of Binary Tree]] - [[110. Balanced Binary Tree]] - [[100. Same Tree]] - [[572. Subtree of Another Tree]] ### medium - [[235. Lowest Common Ancestor of a Binary Search Tree]] - [[102. Binary Tree Level Order Traversal]] - [[199. Binary Tree Right Side View]] - [[1448. Count Good Nodes in Binary Tree]] - [[98. Validate Binary Search Tree]] - [[230. Kth Smallest Element in a BST]] - [[105. Construct Binary Tree from Preorder and Inorder Traversal]] ### hard - [[124. Binary Tree Maximum Path Sum]] - [[297. Serialize and Deserialize Binary Tree]] ## Tries ### medium - [[208. Implement Trie (Prefix Tree)]] - [[211. Design Add and Search Words Data Structure]] ### hard - [[212. Word Search II]] ## Heap / Priority Queue ### easy - [[703. Kth Largest Element in a Stream]] - [[1046. Last Stone Weight]] ### medium - [[973. K Closest Points to Origin]] - [[215. Kth Largest Element in an Array]] - [[621. Task Scheduler]] - [[355. Design Twitter]] ### hard - [[295. Find Median from Data Stream]] ## Backtracking ### medium - [[78. Subsets]] - [[39. Combination Sum]] - [[46. Permutations]] - [[90. Subsets II]] - [[40. Combination Sum II]] - [[79. Word Search]] - [[131. Palindrome Partitioning]] - [[17. Letter Combinations of a Phone Number]] ### hard - [[51. N-Queens]] ## Graphs ### medium - [[200. Number of Islands]] - [[133. Clone Graph]] - [[695. Max Area of Island]] - [[417. Pacific Atlantic Water Flow]] - [[130. Surrounded Regions]] - [[994. Rotting Oranges]] - [[286. Walls and Gates]] - [[207. Course Schedule]] - [[210. Course Schedule II]] - [[684. Redundant Connection]] - [[323. Number of Connected Components in an Undirected Graph]] - [[261. Graph Valid Tre]] ### hard - [[127. Word Ladder]] ## 1-D Dynamic Programming ### easy - [[70. Climbing Stairs]] - [[746. Min Cost Climbing Stairs]] ### medium - [[198. House Robber]] - [[213. House Robber II]] - [[5. Longest Palindromic Substring]] - [[647. Palindromic Substrings]] - [[91. Decode Ways]] - [[322. Coin Change]] - [[152. Maximum Product Subarray]] - [[139. Word Break]] - [[300. Longest Increasing Subsequence]] - [[416. Partition Equal Subset Sum]] ## Intervals ### easy - [[252. Meeting Rooms]] ### medium - [[57. Insert Interval]] - [[56. Merge Intervals]] - [[435. Non-overlapping Intervals]] - [[253. Meeting Rooms II]] ### hard - [[1851. Minimum Interval to Include Each Query]] ## Greedy ### medium - [[53. Maximum Subarray]] - [[55. Jump Game]] - [[45. Jump Game II]] - [[134. Gas Station]] - [[846. Hand of Straights]] - [[1899. Merge Triplets to Form Target Triplet]] - [[763. Partition Labels]] - [[678. Valid Parenthesis String]] ## Advanced Graphs ### medium - [[1584. Min Cost to Connect All Points]] - [[743. Network Delay Time]] - [[787. Cheapest Flights Within K Stops]] ### hard - [[332. Reconstruct Itinerary]] - [[778. Swim in Rising Water]] - [[269. Alien Dictionary]] ## 2-D Dynamic Programming ### medium - [[62. Unique Paths]] - [[1143. Longest Common Subsequence]] - [[309. Best Time to Buy and Sell Stock with Cooldown]] - [[518. Coin Change II]] - [[494. Target Sum]] - [[97. Interleaving String]] - [[72. Edit Distance]] ### hard - [[329. Longest Increasing Path in a Matrix]] - [[115. Distinct Subsequences]] - [[312. Burst Balloons]] - [[10. Regular Expression Matching]] ## Bit Manipulation ### easy - [[136. Single Number]] - [[191. Number of 1 Bits]] - [[338. Counting Bits]] - [[190. Reverse Bits]] - [[268. Missing Number]] ### medium - [[371. Sum of Two Integers]] - [[7. Reverse Integer]] ## Math & Geometry ### easy - [[202. Happy Number]] - [[66. Plus One]] ### medium - [[48. Rotate Image]] - [[54. Spiral Matrix]] - [[73. Set Matrix Zeroes]] - [[50. Pow(x, n)]] - [[43. Multiply Strings]] - [[2013. Detect Squares]]