If you find this repository helpful, please give me a star to inspire me to keep it updated and benefit more people. Thank you! 🌟
Blind 75 is a curated list of LeetCode questions created in 2018. We can practice these questions to save time in the job-finding process. Many other LeetCode problems are technical mixes of these individual problems.
Grind 75 is a dynamic list of top LeetCode interview questions created in 2023. It's up-to-date and well-chosen, and we can personalize it according to our schedule, time constraints, and preferences. I practice Grind 75 in parallel on this repository.
Goal: To achieve the review of the application of the following data structures and algorithms, except the theory of NP-Completeness.
- Data Structures: (1) Arrays; (2) Stacks and Queues; (3) Linked Lists; (4) Trees; (5) Graphs; (6) Sorting; (7) Hashing.
- Algorithms: (1) Greedy Method; (2) Divide and Conquer; (3) Tree Searching Strategies; (4) Prune and Search; (5) Dynamic Programming.
Recommended online textbook for quick review of concepts: Hello Algo
- Start Date: Mar 26, 2023
- Completion Date: Ongoing 🧙🪄
- Easy 1. Two Sum (picked in Grind 75)
- Easy 121. Best Time to Buy and Sell Stock (picked in Grind 75)
- Easy 217. Contains Duplicate (picked in Grind 75)
- Medium 11. Container With Most Water (picked in Grind 75) | Algo: Two-Pointer Technique
- Medium 15. 3Sum (picked in Grind 75) | Algo: Two-Pointer Technique and Dictionary (Hashmap); DS: Hashing
- Medium 33. Search in Rotated Sorted Array (picked in Grind 75) | Algo: Binary Search Algorithm, which follows the divide and conquer approach.
- Medium 53. Maximum Subarray (picked in Grind 75) | Algo: Kadane's Algo
- Medium 152. Maximum Product Subarray (picked in Grind 169) | Algo: Dynamic Programming
- Medium 153. Find Minimum in Rotated Sorted Array | Algo: Binary Search Algorithm, which follows the divide and conquer approach.
- Medium 238. Product of Array Except Self (picked in Grind 75)
- Easy 70. Climbing Stairs (picked in Grind 75) | Algo: Dynamic Programming
- Medium 55. Jump Game
- Medium 62. Unique Paths (picked in Grind 75) | Algo: Dynamic Programming
- Medium 91. Decode Ways
- Medium 139. Word Break (picked in Grind 75) | Algo: Dynamic Programming
- Medium 198. House Robber (picked in Grind 169) | Algo: Dynamic Programming
- Medium 213. House Robber II
- Medium 300. Longest Increasing Subsequence (picked in Grind 169) | Algo: Dynamic Programming & Binary Search
- Medium 322. Coin Change (picked in Grind 75) | Algo: Dynamic Programming
- Medium 377. Combination Sum IV
- Medium 1143. Longest Common Subsequence
- Medium 128. Longest Consecutive Sequence
- Medium 133. Clone Graph (picked in Grind 75) | Algo: Breadth-First Search
- Medium 200. Number of Islands (picked in Grind 75) | Algo: Depth-First Search
- Medium 207. Course Schedule (picked in Grind 75) | Algo: Depth-First Search
- Medium 417. Pacific Atlantic Water Flow
- Alien Dictionary (Leetcode Premium)
- Graph Valid Tree (Leetcode Premium)
- Number of Connected Components in an Undirected Graph (Leetcode Premium)
- Medium 56. Merge Intervals (picked in Glind 75)
- Medium 57. Insert Interval (picked in Grind 75)
- Medium 435. Non-overlapping Intervals
- Meeting Rooms (Leetcode Premium)
- Meeting Rooms II (Leetcode Premium)
- Easy 21. Merge Two Sorted Lists (picked in Grind 75)
- Easy 141. Detect Cycle in a Linked List (picked in Grind 75) | Algo: Floyd's Cycle Finding
- Easy 206. Reverse a Linked List (picked in Grind 75)
- Medium 19. Remove Nth Node From End Of List (picked in Grind 169) | Algo: Two-Pointers Technique (Fast & Slow Pointers)
- Medium 143. Reorder List
- Hard 23. Merge K Sorted Lists (picked in Grind 75) | DS: Min Heap (Priority Queue)
- Medium 48. Rotate Image
- Medium 54. Spiral Matrix (picked in Grind 75)
- Medium 73. Set Matrix Zeroes
- Medium 79. Word Search (picked in Grind 75) | Algo: Depth-First Search
- Easy 20. Valid Parentheses (picked in Grind 75)
- Easy 125. Valid Palindrome (picked in Grind 75) | Algo: Regular Expressions, Two-Pointers Technique, String Manipulation
- Medium 3. Longest Substring Without Repeating Characters (picked in Grind 75) | Algo: Sliding Window Technique
- Medium 5. Longest Palindromic Substring (picked in Grind 75) | Algo: Expand Around Center & Two-Pointers Techniques
- Medium 49. Group Anagrams (picked in Grind 169) | DS: Hash Table
- Medium 242. Valid Anagram (picked in Grind 75)
- Medium 424. Longest Repeating Character Replacement
- Medium 647. Palindromic Substrings
- Hard 76. Minimum Window Substring (picked in Grind 75) | Algo: Sliding Window; DS: Hash Table
- Encode and Decode Strings (Leetcode Premium)
- Easy 100. Same Tree
- Easy 104. Maximum Depth of Binary Tree (picked in Grind 75) | Algo: Depth-First Search
- Easy 226. Invert/Flip Binary Tree (picked in Grind 75)
- Easy 572. Subtree of Another Tree (picked in Grind 169) | Algo: Depth-First Search
- Medium 98. Validate Binary Search Tree (picked in Grind 75) | Algo: Depth-First Search
- Medium 102. Binary Tree Level Order Traversal (picked in Grind 75) | Algo: Breadth-First Search
- Medium 105. Construct Binary Tree from Preorder and Inorder Traversal (picked in Grind 75) | Algo: Preorder & Inorder Traversal
- Medium 211. Design Add and Search Words Data Structure (picked in Grind 169) | DS: Trie Tree
- Medium 230. Kth Smallest Element in a BST (picked in Grind 75) | Algo: Inorder Traversal
- Medium 235. Lowest Common Ancestor of BST (picked in Grind 75)
- Hard 124. Binary Tree Maximum Path Sum
- Hard 212. Word Search II
- Hard 297. Serialize and Deserialize Binary Tree (picked in Grind 75) | Algo: Breadth-First Search; DS: Queue
- Medium 347. Top K Frequent Elements
- Hard 23. Merge K Sorted Lists (picked in Grind 75) | DS: Min Heap (Priority Queue)
- Hard 295. Find Median from Data Stream (picked in Grind 75) | DS: Min & Max Heaps (Priority Queue)
- Easy 190. Reverse Bits (picked in Grind 169) | Algo: Bit Manipulation
- Easy 191. Number of 1 Bits (picked in Grind 169) | Algo: Bit Manipulation
- Easy 268. Missing Number (picked in Grind 169) | Algo: Bit Manipulation (XOR)
- Easy 338. Counting Bits (picked in Grind 169) | Algo: Dynamic Programming (Bit Manipulation)
- Medium 371. Sum of Two Integers