7371b2617d
Problems are now ** TODO headings with proper org tags (:easy:, :medium:, :hard:) instead of checkbox list items. This enables org-mode filtering by difficulty, proper subtree folding, and automatic cookie updates on toggle.
92 KiB
92 KiB
NeetCode Roadmap
- Arrays & Hashing [/]
- 0217. Contains Duplicate
- 0242. Valid Anagram
- 2678. Number of Senior Citizens
- 0001. Two Sum
- 1408. String Matching in an Array
- 0049. Group Anagrams
- 0347. Top K Frequent Elements
- 0271. Encode and Decode Strings
- 0238. Product of Array Except Self
- 1769. Minimum Number of Operations to Move All Balls to Each Box
- 0036. Valid Sudoku
- 0128. Longest Consecutive Sequence
- Two Pointers [/]
- Binary Search [/]
- 0704. Binary Search
- 2300. Successful Pairs of Spells and Potions
- 0074. Search a 2D Matrix
- 0875. Koko Eating Bananas
- 0153. Find Minimum In Rotated Sorted Array
- 0033. Search In Rotated Sorted Array
- 0981. Time Based Key Value Store
- 0719. Find K-th Smallest Pair Distance
- 0004. Median of Two Sorted Arrays
- Stack [/]
- Sliding Window [/]
- Linked List [/]
- 0206. Reverse Linked List
- 0021. Merge Two Sorted Lists
- 0141. Linked List Cycle
- 2487. Remove Nodes From Linked List
- 0143. Reorder List
- 0019. Remove Nth Node From End of List
- 1721. Swapping Nodes in a Linked List
- 0138. Copy List With Random Pointer
- 1472. Design Browser History
- 0002. Add Two Numbers
- 0287. Find The Duplicate Number
- 0725. Split Linked List in Parts
- 0146. LRU Cache
- 0023. Merge K Sorted Lists
- 0025. Reverse Nodes In K Group
- Trees [/]
- 0590. N-ary Tree Postorder Traversal
- 0226. Invert Binary Tree
- 0104. Maximum Depth of Binary Tree
- 0543. Diameter of Binary Tree
- 0110. Balanced Binary Tree
- 0100. Same Tree
- 0572. Subtree of Another Tree
- 0235. Lowest Common Ancestor of a Binary Search Tree
- 0102. Binary Tree Level Order Traversal
- 0199. Binary Tree Right Side View
- 1376. Time Needed to Inform All Employees
- 1448. Count Good Nodes In Binary Tree
- 0098. Validate Binary Search Tree
- 0230. Kth Smallest Element In a Bst
- 0105. Construct Binary Tree From Preorder And Inorder Traversal
- 1028. Recover a Tree From Preorder Traversal
- 0124. Binary Tree Maximum Path Sum
- 0297. Serialize And Deserialize Binary Tree
- Tries [/]
- Heap / Priority Queue [/]
- Backtracking [/]
- 1863. Sum of All Subsets XOR Total
- 0078. Subsets
- 0039. Combination Sum
- 0040. Combination Sum II
- 0077. Combinations
- 0046. Permutations
- 0090. Subsets II
- 0022. Generate Parentheses
- 1079. Letter Tile Possibilities
- 0079. Word Search
- 0131. Palindrome Partitioning
- 0017. Letter Combinations of a Phone Number
- 0351. Android Unlock Patterns
- 0051. N Queens
- 0052. N Queens II
- Graphs [/]
- 2924. Find Champion II
- 0200. Number of Islands
- 0695. Max Area of Island
- 2658. Maximum Number of Fish in a Grid
- 0133. Clone Graph
- 0286. Walls And Gates
- 0994. Rotting Oranges
- 1905. Count Sub Islands
- 0417. Pacific Atlantic Water Flow
- 0130. Surrounded Regions
- 0802. Find Eventual Safe States
- 0207. Course Schedule
- 0210. Course Schedule II
- 0261. Graph Valid Tree
- 0323. Number of Connected Components In An Undirected Graph
- 0684. Redundant Connection
- 2092. Find All People With Secret
- 0127. Word Ladder
- 1-D Dynamic Programming [/]
- 0070. Climbing Stairs
- 0746. Min Cost Climbing Stairs
- 0198. House Robber
- 0213. House Robber II
- 0005. Longest Palindromic Substring
- 0647. Palindromic Substrings
- 0091. Decode Ways
- 0322. Coin Change
- 0152. Maximum Product Subarray
- 0139. Word Break
- 0300. Longest Increasing Subsequence
- 0416. Partition Equal Subset Sum
- 0656. Coin Path
- Intervals [/]
- Greedy [/]
- Advanced Graphs [/]
- Bit Manipulation [/]
- Math & Geometry [/]
- 0840. Magic Squares In Grid
- 0048. Rotate Image
- 0054. Spiral Matrix
- 2326. Spiral Matrix IV
- 0073. Set Matrix Zeroes
- 0202. Happy Number
- 0066. Plus One
- 0009. Palindrome Number
- 0012. Integer to Roman
- 0050. Pow(x, n)
- 2698. Find the Punishment Number of an Integer
- 1780. Check if Number is a Sum of Powers of Three
- 0043. Multiply Strings
- 2013. Detect Squares
- 0296. Best Meeting Point
- 2-D Dynamic Programming [/]
- 0062. Unique Paths
- 1143. Longest Common Subsequence
- 0309. Best Time to Buy And Sell Stock With Cooldown
- 0518. Coin Change II
- 0494. Target Sum
- 0097. Interleaving String
- 0329. Longest Increasing Path In a Matrix
- 1911. Maximum Alternating Subsequence Sum
- 0115. Distinct Subsequences
- 0072. Edit Distance
- 1220. Count Vowels Permutation
- 0312. Burst Balloons
- 0010. Regular Expression Matching
Source: neetcode.io/roadmap
TODO Arrays & Hashing [/]
TODO 0217. Contains Duplicate easy
- Python: 0217-contains-duplicate.py
- C++: 0217-contains-duplicate.cpp
- LeetCode: contains-duplicate/
- Video: explanation
TODO 0242. Valid Anagram easy
- Python: 0242-valid-anagram.py
- C++: 0242-valid-anagram.cpp
- LeetCode: valid-anagram/
- Video: explanation
TODO 2678. Number of Senior Citizens easy
- Python: 2678-number-of-senior-citizens.py
- C++: 2678-number-of-senior-citizens.cpp
- LeetCode: number-of-senior-citizens/
- Video: explanation
TODO 0001. Two Sum easy
- Python: 0001-two-sum.py
- C++: 0001-two-sum.cpp
- LeetCode: two-sum/
- Video: explanation
TODO 1408. String Matching in an Array easy
- Python: 1408-string-matching-in-an-array.py
- C++: 1408-string-matching-in-an-array.cpp
- LeetCode: string-matching-in-an-array/
- Video: explanation
TODO 0049. Group Anagrams medium
- Python: 0049-group-anagrams.py
- C++: 0049-group-anagrams.cpp
- LeetCode: group-anagrams/
- Video: explanation
TODO 0347. Top K Frequent Elements medium
- Python: 0347-top-k-frequent-elements.py
- C++: 0347-top-k-frequent-elements.cpp
- LeetCode: top-k-frequent-elements/
- Video: explanation
TODO 0271. Encode and Decode Strings medium
- Python: 0271-encode-and-decode-strings.py
- C++: 0271-encode-and-decode-strings.cpp
- LeetCode: encode-and-decode-strings/
- Video: explanation
TODO 0238. Product of Array Except Self medium
- Python: 0238-product-of-array-except-self.py
- C++: 0238-product-of-array-except-self.cpp
- LeetCode: product-of-array-except-self/
- Video: explanation
TODO 1769. Minimum Number of Operations to Move All Balls to Each Box medium
TODO 0036. Valid Sudoku medium
- Python: 0036-valid-sudoku.py
- C++: 0036-valid-sudoku.cpp
- LeetCode: valid-sudoku/
- Video: explanation
TODO 0128. Longest Consecutive Sequence medium
- Python: 0128-longest-consecutive-sequence.py
- C++: 0128-longest-consecutive-sequence.cpp
- LeetCode: longest-consecutive-sequence/
- Video: explanation
TODO Two Pointers [/]
TODO 0344. Reverse String easy
- Python: 0344-reverse-string.py
- C++: 0344-reverse-string.cpp
- LeetCode: reverse-string/
- Video: explanation
TODO 0125. Valid Palindrome easy
- Python: 0125-valid-palindrome.py
- C++: 0125-valid-palindrome.cpp
- LeetCode: valid-palindrome/
- Video: explanation
TODO 0167. Two Sum II Input Array Is Sorted medium
- Python: 0167-two-sum-ii-input-array-is-sorted.py
- C++: 0167-two-sum-ii-input-array-is-sorted.cpp
- LeetCode: two-sum-ii-input-array-is-sorted/
- Video: explanation
TODO 0015. 3Sum medium
- Python: 0015-3sum.py
- C++: 0015-3sum.cpp
- LeetCode: 3sum/
- Video: explanation
TODO 0011. Container With Most Water medium
- Python: 0011-container-with-most-water.py
- C++: 0011-container-with-most-water.cpp
- LeetCode: container-with-most-water/
- Video: explanation
TODO 0259. 3Sum Smaller medium
- Python: 0259-3sum-smaller.py
- C++: 0259-3sum-smaller.cpp
- LeetCode: 3sum-smaller/
TODO 0042. Trapping Rain Water hard
- Python: 0042-trapping-rain-water.py
- C++: 0042-trapping-rain-water.cpp
- LeetCode: trapping-rain-water/
- Video: explanation
TODO Binary Search [/]
TODO 0704. Binary Search easy
- Python: 0704-binary-search.py
- C++: 0704-binary-search.cpp
- LeetCode: binary-search/
- Video: explanation
TODO 2300. Successful Pairs of Spells and Potions medium
TODO 0074. Search a 2D Matrix medium
- Python: 0074-search-a-2d-matrix.py
- C++: 0074-search-a-2d-matrix.cpp
- LeetCode: search-a-2d-matrix/
- Video: explanation
TODO 0875. Koko Eating Bananas medium
- Python: 0875-koko-eating-bananas.py
- C++: 0875-koko-eating-bananas.cpp
- LeetCode: koko-eating-bananas/
- Video: explanation
TODO 0153. Find Minimum In Rotated Sorted Array medium
TODO 0033. Search In Rotated Sorted Array medium
- Python: 0033-search-in-rotated-sorted-array.py
- C++: 0033-search-in-rotated-sorted-array.cpp
- LeetCode: search-in-rotated-sorted-array/
- Video: explanation
TODO 0981. Time Based Key Value Store medium
- Python: 0981-time-based-key-value-store.py
- C++: 0981-time-based-key-value-store.cpp
- LeetCode: time-based-key-value-store/
- Video: explanation
TODO 0719. Find K-th Smallest Pair Distance hard
- Python: 0719-find-k-th-smallest-pair-distance.py
- C++: 0719-find-k-th-smallest-pair-distance.cpp
- LeetCode: find-k-th-smallest-pair-distance/
- Video: explanation
TODO 0004. Median of Two Sorted Arrays hard
- Python: 0004-median-of-two-sorted-arrays.py
- C++: 0004-median-of-two-sorted-arrays.cpp
- LeetCode: median-of-two-sorted-arrays/
- Video: explanation
TODO Stack [/]
TODO 0682. Baseball Game easy
- Python: 0682-baseball-game.py
- C++: 0682-baseball-game.cpp
- LeetCode: baseball-game/
- Video: explanation
TODO 0020. Valid Parentheses easy
- Python: 0020-valid-parentheses.py
- C++: 0020-valid-parentheses.cpp
- LeetCode: valid-parentheses/
- Video: explanation
TODO 1544. Make The String Great easy
- Python: 1544-make-the-string-great.py
- C++: 1544-make-the-string-great.cpp
- LeetCode: make-the-string-great/
- Video: explanation
TODO 0155. Min Stack medium
- Python: 0155-min-stack.py
- C++: 0155-min-stack.cpp
- LeetCode: min-stack/
- Video: explanation
TODO 0150. Evaluate Reverse Polish Notation medium
- Python: 0150-evaluate-reverse-polish-notation.py
- C++: 0150-evaluate-reverse-polish-notation.cpp
- LeetCode: evaluate-reverse-polish-notation/
- Video: explanation
TODO 0739. Daily Temperatures medium
- Python: 0739-daily-temperatures.py
- C++: 0739-daily-temperatures.cpp
- LeetCode: daily-temperatures/
- Video: explanation
TODO 0901. Online Stock Span medium
- Python: 0901-online-stock-span.py
- C++: 0901-online-stock-span.cpp
- LeetCode: online-stock-span/
- Video: explanation
TODO 0853. Car Fleet medium
- Python: 0853-car-fleet.py
- C++: 0853-car-fleet.cpp
- LeetCode: car-fleet/
- Video: explanation
TODO 0084. Largest Rectangle In Histogram hard
- Python: 0084-largest-rectangle-in-histogram.py
- C++: 0084-largest-rectangle-in-histogram.cpp
- LeetCode: largest-rectangle-in-histogram/
- Video: explanation
TODO 0726. Number of Atoms hard
- Python: 0726-number-of-atoms.py
- C++: 0726-number-of-atoms.cpp
- LeetCode: number-of-atoms/
- Video: explanation
TODO Sliding Window [/]
TODO 0121. Best Time to Buy And Sell Stock easy
- Python: 0121-best-time-to-buy-and-sell-stock.py
- C++: 0121-best-time-to-buy-and-sell-stock.cpp
- LeetCode: best-time-to-buy-and-sell-stock/
- Video: explanation
TODO 0003. Longest Substring Without Repeating Characters medium
TODO 0424. Longest Repeating Character Replacement medium
TODO 0567. Permutation In String medium
- Python: 0567-permutation-in-string.py
- C++: 0567-permutation-in-string.cpp
- LeetCode: permutation-in-string/
- Video: explanation
TODO 3306. Count of Substrings Containing Every Vowel and K Consonants II medium
TODO 0076. Minimum Window Substring hard
- Python: 0076-minimum-window-substring.py
- C++: 0076-minimum-window-substring.cpp
- LeetCode: minimum-window-substring/
- Video: explanation
TODO 0239. Sliding Window Maximum hard
- Python: 0239-sliding-window-maximum.py
- C++: 0239-sliding-window-maximum.cpp
- LeetCode: sliding-window-maximum/
- Video: explanation
TODO Linked List [/]
TODO 0206. Reverse Linked List easy
- Python: 0206-reverse-linked-list.py
- C++: 0206-reverse-linked-list.cpp
- LeetCode: reverse-linked-list/
- Video: explanation
TODO 0021. Merge Two Sorted Lists easy
- Python: 0021-merge-two-sorted-lists.py
- C++: 0021-merge-two-sorted-lists.cpp
- LeetCode: merge-two-sorted-lists/
- Video: explanation
TODO 0141. Linked List Cycle easy
- Python: 0141-linked-list-cycle.py
- C++: 0141-linked-list-cycle.cpp
- LeetCode: linked-list-cycle/
- Video: explanation
TODO 2487. Remove Nodes From Linked List medium
- Python: 2487-remove-nodes-from-linked-list.py
- C++: 2487-remove-nodes-from-linked-list.cpp
- LeetCode: remove-nodes-from-linked-list/
- Video: explanation
TODO 0143. Reorder List medium
- Python: 0143-reorder-list.py
- C++: 0143-reorder-list.cpp
- LeetCode: reorder-list/
- Video: explanation
TODO 0019. Remove Nth Node From End of List medium
- Python: 0019-remove-nth-node-from-end-of-list.py
- C++: 0019-remove-nth-node-from-end-of-list.cpp
- LeetCode: remove-nth-node-from-end-of-list/
- Video: explanation
TODO 1721. Swapping Nodes in a Linked List medium
- Python: 1721-swapping-nodes-in-a-linked-list.py
- C++: 1721-swapping-nodes-in-a-linked-list.cpp
- LeetCode: swapping-nodes-in-a-linked-list/
- Video: explanation
TODO 0138. Copy List With Random Pointer medium
- Python: 0138-copy-list-with-random-pointer.py
- C++: 0138-copy-list-with-random-pointer.cpp
- LeetCode: copy-list-with-random-pointer/
- Video: explanation
TODO 1472. Design Browser History medium
- Python: 1472-design-browser-history.py
- C++: 1472-design-browser-history.cpp
- LeetCode: design-browser-history/
- Video: explanation
TODO 0002. Add Two Numbers medium
- Python: 0002-add-two-numbers.py
- C++: 0002-add-two-numbers.cpp
- LeetCode: add-two-numbers/
- Video: explanation
TODO 0287. Find The Duplicate Number medium
- Python: 0287-find-the-duplicate-number.py
- C++: 0287-find-the-duplicate-number.cpp
- LeetCode: find-the-duplicate-number/
- Video: explanation
TODO 0725. Split Linked List in Parts medium
- Python: 0725-split-linked-list-in-parts.py
- C++: 0725-split-linked-list-in-parts.cpp
- LeetCode: split-linked-list-in-parts/
- Video: explanation
TODO 0146. LRU Cache medium
- Python: 0146-lru-cache.py
- C++: 0146-lru-cache.cpp
- LeetCode: lru-cache/
- Video: explanation
TODO 0023. Merge K Sorted Lists hard
- Python: 0023-merge-k-sorted-lists.py
- C++: 0023-merge-k-sorted-lists.cpp
- LeetCode: merge-k-sorted-lists/
- Video: explanation
TODO 0025. Reverse Nodes In K Group hard
- Python: 0025-reverse-nodes-in-k-group.py
- C++: 0025-reverse-nodes-in-k-group.cpp
- LeetCode: reverse-nodes-in-k-group/
- Video: explanation
TODO Trees [/]
TODO 0590. N-ary Tree Postorder Traversal easy
- Python: 0590-n-ary-tree-postorder-traversal.py
- C++: 0590-n-ary-tree-postorder-traversal.cpp
- LeetCode: n-ary-tree-postorder-traversal/
- Video: explanation
TODO 0226. Invert Binary Tree easy
- Python: 0226-invert-binary-tree.py
- C++: 0226-invert-binary-tree.cpp
- LeetCode: invert-binary-tree/
- Video: explanation
TODO 0104. Maximum Depth of Binary Tree easy
- Python: 0104-maximum-depth-of-binary-tree.py
- C++: 0104-maximum-depth-of-binary-tree.cpp
- LeetCode: maximum-depth-of-binary-tree/
- Video: explanation
TODO 0543. Diameter of Binary Tree easy
- Python: 0543-diameter-of-binary-tree.py
- C++: 0543-diameter-of-binary-tree.cpp
- LeetCode: diameter-of-binary-tree/
- Video: explanation
TODO 0110. Balanced Binary Tree easy
- Python: 0110-balanced-binary-tree.py
- C++: 0110-balanced-binary-tree.cpp
- LeetCode: balanced-binary-tree/
- Video: explanation
TODO 0100. Same Tree easy
- Python: 0100-same-tree.py
- C++: 0100-same-tree.cpp
- LeetCode: same-tree/
- Video: explanation
TODO 0572. Subtree of Another Tree easy
- Python: 0572-subtree-of-another-tree.py
- C++: 0572-subtree-of-another-tree.cpp
- LeetCode: subtree-of-another-tree/
- Video: explanation
TODO 0235. Lowest Common Ancestor of a Binary Search Tree medium
TODO 0102. Binary Tree Level Order Traversal medium
- Python: 0102-binary-tree-level-order-traversal.py
- C++: 0102-binary-tree-level-order-traversal.cpp
- LeetCode: binary-tree-level-order-traversal/
- Video: explanation
TODO 0199. Binary Tree Right Side View medium
- Python: 0199-binary-tree-right-side-view.py
- C++: 0199-binary-tree-right-side-view.cpp
- LeetCode: binary-tree-right-side-view/
- Video: explanation
TODO 1376. Time Needed to Inform All Employees medium
TODO 1448. Count Good Nodes In Binary Tree medium
- Python: 1448-count-good-nodes-in-binary-tree.py
- C++: 1448-count-good-nodes-in-binary-tree.cpp
- LeetCode: count-good-nodes-in-binary-tree/
- Video: explanation
TODO 0098. Validate Binary Search Tree medium
- Python: 0098-validate-binary-search-tree.py
- C++: 0098-validate-binary-search-tree.cpp
- LeetCode: validate-binary-search-tree/
- Video: explanation
TODO 0230. Kth Smallest Element In a Bst medium
- Python: 0230-kth-smallest-element-in-a-bst.py
- C++: 0230-kth-smallest-element-in-a-bst.cpp
- LeetCode: kth-smallest-element-in-a-bst/
- Video: explanation
TODO 0105. Construct Binary Tree From Preorder And Inorder Traversal medium
TODO 1028. Recover a Tree From Preorder Traversal hard
TODO 0124. Binary Tree Maximum Path Sum hard
- Python: 0124-binary-tree-maximum-path-sum.py
- C++: 0124-binary-tree-maximum-path-sum.cpp
- LeetCode: binary-tree-maximum-path-sum/
- Video: explanation
TODO 0297. Serialize And Deserialize Binary Tree hard
TODO Tries [/]
TODO 0208. Implement Trie Prefix Tree medium
- Python: 0208-implement-trie-prefix-tree.py
- C++: 0208-implement-trie-prefix-tree.cpp
- LeetCode: implement-trie-prefix-tree/
- Video: explanation
TODO 0211. Design Add And Search Words Data Structure medium
TODO 1166. Design File System medium
- Python: 1166-design-file-system.py
- C++: 1166-design-file-system.cpp
- LeetCode: design-file-system/
TODO 0212. Word Search II hard
- Python: 0212-word-search-ii.py
- C++: 0212-word-search-ii.cpp
- LeetCode: word-search-ii/
- Video: explanation
TODO Heap / Priority Queue [/]
TODO 0703. Kth Largest Element In a Stream easy
- Python: 0703-kth-largest-element-in-a-stream.py
- C++: 0703-kth-largest-element-in-a-stream.cpp
- LeetCode: kth-largest-element-in-a-stream/
- Video: explanation
TODO 1046. Last Stone Weight easy
- Python: 1046-last-stone-weight.py
- C++: 1046-last-stone-weight.cpp
- LeetCode: last-stone-weight/
- Video: explanation
TODO 0973. K Closest Points to Origin medium
- Python: 0973-k-closest-points-to-origin.py
- C++: 0973-k-closest-points-to-origin.cpp
- LeetCode: k-closest-points-to-origin/
- Video: explanation
TODO 0215. Kth Largest Element In An Array medium
- Python: 0215-kth-largest-element-in-an-array.py
- C++: 0215-kth-largest-element-in-an-array.cpp
- LeetCode: kth-largest-element-in-an-array/
- Video: explanation
TODO 0621. Task Scheduler medium
- Python: 0621-task-scheduler.py
- C++: 0621-task-scheduler.cpp
- LeetCode: task-scheduler/
- Video: explanation
TODO 0355. Design Twitter medium
- Python: 0355-design-twitter.py
- C++: 0355-design-twitter.cpp
- LeetCode: design-twitter/
- Video: explanation
TODO 0295. Find Median From Data Stream hard
- Python: 0295-find-median-from-data-stream.py
- C++: 0295-find-median-from-data-stream.cpp
- LeetCode: find-median-from-data-stream/
- Video: explanation
TODO Backtracking [/]
TODO 1863. Sum of All Subsets XOR Total easy
- Python: 1863-sum-of-all-subset-xor-totals.py
- C++: 1863-sum-of-all-subset-xor-totals.cpp
- LeetCode: sum-of-all-subset-xor-totals/
- Video: explanation
TODO 0078. Subsets medium
- Python: 0078-subsets.py
- C++: 0078-subsets.cpp
- LeetCode: subsets/
- Video: explanation
TODO 0039. Combination Sum medium
- Python: 0039-combination-sum.py
- C++: 0039-combination-sum.cpp
- LeetCode: combination-sum/
- Video: explanation
TODO 0040. Combination Sum II medium
- Python: 0040-combination-sum-ii.py
- C++: 0040-combination-sum-ii.cpp
- LeetCode: combination-sum-ii/
- Video: explanation
TODO 0077. Combinations medium
- Python: 0077-combinations.py
- C++: 0077-combinations.cpp
- LeetCode: combinations/
- Video: explanation
TODO 0046. Permutations medium
- Python: 0046-permutations.py
- C++: 0046-permutations.cpp
- LeetCode: permutations/
- Video: explanation
TODO 0090. Subsets II medium
- Python: 0090-subsets-ii.py
- C++: 0090-subsets-ii.cpp
- LeetCode: subsets-ii/
- Video: explanation
TODO 0022. Generate Parentheses medium
- Python: 0022-generate-parentheses.py
- C++: 0022-generate-parentheses.cpp
- LeetCode: generate-parentheses/
- Video: explanation
TODO 1079. Letter Tile Possibilities medium
- Python: 1079-letter-tile-possibilities.py
- C++: 1079-letter-tile-possibilities.cpp
- LeetCode: letter-tile-possibilities/
- Video: explanation
TODO 0079. Word Search medium
- Python: 0079-word-search.py
- C++: 0079-word-search.cpp
- LeetCode: word-search/
- Video: explanation
TODO 0131. Palindrome Partitioning medium
- Python: 0131-palindrome-partitioning.py
- C++: 0131-palindrome-partitioning.cpp
- LeetCode: palindrome-partitioning/
- Video: explanation
TODO 0017. Letter Combinations of a Phone Number medium
TODO 0351. Android Unlock Patterns medium
- Python: 0351-android-unlock-patterns.py
- C++: 0351-android-unlock-patterns.cpp
- LeetCode: android-unlock-patterns/
TODO 0051. N Queens hard
- Python: 0051-n-queens.py
- C++: 0051-n-queens.cpp
- LeetCode: n-queens/
- Video: explanation
TODO 0052. N Queens II hard
- Python: 0052-n-queens-ii.py
- C++: 0052-n-queens-ii.cpp
- LeetCode: n-queens-ii/
- Video: explanation
TODO Graphs [/]
TODO 2924. Find Champion II medium
- Python: 2924-find-champion-ii.py
- C++: 2924-find-champion-ii.cpp
- LeetCode: find-champion-ii/
- Video: explanation
TODO 0200. Number of Islands medium
- Python: 0200-number-of-islands.py
- C++: 0200-number-of-islands.cpp
- LeetCode: number-of-islands/
- Video: explanation
TODO 0695. Max Area of Island medium
- Python: 0695-max-area-of-island.py
- C++: 0695-max-area-of-island.cpp
- LeetCode: max-area-of-island/
- Video: explanation
TODO 2658. Maximum Number of Fish in a Grid medium
- Python: 2658-maximum-number-of-fish-in-a-grid.py
- C++: 2658-maximum-number-of-fish-in-a-grid.cpp
- LeetCode: maximum-number-of-fish-in-a-grid/
- Video: explanation
TODO 0133. Clone Graph medium
- Python: 0133-clone-graph.py
- C++: 0133-clone-graph.cpp
- LeetCode: clone-graph/
- Video: explanation
TODO 0286. Walls And Gates medium
- Python: 0286-walls-and-gates.py
- C++: 0286-walls-and-gates.cpp
- LeetCode: walls-and-gates/
- Video: explanation
TODO 0994. Rotting Oranges medium
- Python: 0994-rotting-oranges.py
- C++: 0994-rotting-oranges.cpp
- LeetCode: rotting-oranges/
- Video: explanation
TODO 1905. Count Sub Islands medium
- Python: 1905-count-sub-islands.py
- C++: 1905-count-sub-islands.cpp
- LeetCode: count-sub-islands/
- Video: explanation
TODO 0417. Pacific Atlantic Water Flow medium
- Python: 0417-pacific-atlantic-water-flow.py
- C++: 0417-pacific-atlantic-water-flow.cpp
- LeetCode: pacific-atlantic-water-flow/
- Video: explanation
TODO 0130. Surrounded Regions medium
- Python: 0130-surrounded-regions.py
- C++: 0130-surrounded-regions.cpp
- LeetCode: surrounded-regions/
- Video: explanation
TODO 0802. Find Eventual Safe States medium
- Python: 0802-find-eventual-safe-states.py
- C++: 0802-find-eventual-safe-states.cpp
- LeetCode: find-eventual-safe-states/
- Video: explanation
TODO 0207. Course Schedule medium
- Python: 0207-course-schedule.py
- C++: 0207-course-schedule.cpp
- LeetCode: course-schedule/
- Video: explanation
TODO 0210. Course Schedule II medium
- Python: 0210-course-schedule-ii.py
- C++: 0210-course-schedule-ii.cpp
- LeetCode: course-schedule-ii/
- Video: explanation
TODO 0261. Graph Valid Tree medium
- Python: 0261-graph-valid-tree.py
- C++: 0261-graph-valid-tree.cpp
- LeetCode: graph-valid-tree/
- Video: explanation
TODO 0323. Number of Connected Components In An Undirected Graph medium
TODO 0684. Redundant Connection medium
- Python: 0684-redundant-connection.py
- C++: 0684-redundant-connection.cpp
- LeetCode: redundant-connection/
- Video: explanation
TODO 2092. Find All People With Secret hard
- Python: 2092-find-all-people-with-secret.py
- C++: 2092-find-all-people-with-secret.cpp
- LeetCode: find-all-people-with-secret/
- Video: explanation
TODO 0127. Word Ladder hard
- Python: 0127-word-ladder.py
- C++: 0127-word-ladder.cpp
- LeetCode: word-ladder/
- Video: explanation
TODO 1-D Dynamic Programming [/]
TODO 0070. Climbing Stairs easy
- Python: 0070-climbing-stairs.py
- C++: 0070-climbing-stairs.cpp
- LeetCode: climbing-stairs/
- Video: explanation
TODO 0746. Min Cost Climbing Stairs easy
- Python: 0746-min-cost-climbing-stairs.py
- C++: 0746-min-cost-climbing-stairs.cpp
- LeetCode: min-cost-climbing-stairs/
- Video: explanation
TODO 0198. House Robber medium
- Python: 0198-house-robber.py
- C++: 0198-house-robber.cpp
- LeetCode: house-robber/
- Video: explanation
TODO 0213. House Robber II medium
- Python: 0213-house-robber-ii.py
- C++: 0213-house-robber-ii.cpp
- LeetCode: house-robber-ii/
- Video: explanation
TODO 0005. Longest Palindromic Substring medium
- Python: 0005-longest-palindromic-substring.py
- C++: 0005-longest-palindromic-substring.cpp
- LeetCode: longest-palindromic-substring/
- Video: explanation
TODO 0647. Palindromic Substrings medium
- Python: 0647-palindromic-substrings.py
- C++: 0647-palindromic-substrings.cpp
- LeetCode: palindromic-substrings/
- Video: explanation
TODO 0091. Decode Ways medium
- Python: 0091-decode-ways.py
- C++: 0091-decode-ways.cpp
- LeetCode: decode-ways/
- Video: explanation
TODO 0322. Coin Change medium
- Python: 0322-coin-change.py
- C++: 0322-coin-change.cpp
- LeetCode: coin-change/
- Video: explanation
TODO 0152. Maximum Product Subarray medium
- Python: 0152-maximum-product-subarray.py
- C++: 0152-maximum-product-subarray.cpp
- LeetCode: maximum-product-subarray/
- Video: explanation
TODO 0139. Word Break medium
- Python: 0139-word-break.py
- C++: 0139-word-break.cpp
- LeetCode: word-break/
- Video: explanation
TODO 0300. Longest Increasing Subsequence medium
- Python: 0300-longest-increasing-subsequence.py
- C++: 0300-longest-increasing-subsequence.cpp
- LeetCode: longest-increasing-subsequence/
- Video: explanation
TODO 0416. Partition Equal Subset Sum medium
- Python: 0416-partition-equal-subset-sum.py
- C++: 0416-partition-equal-subset-sum.cpp
- LeetCode: partition-equal-subset-sum/
- Video: explanation
TODO 0656. Coin Path hard
- Python: 0656-coin-path.py
- C++: 0656-coin-path.cpp
- LeetCode: coin-path/
TODO Intervals [/]
TODO 0057. Insert Interval medium
- Python: 0057-insert-interval.py
- C++: 0057-insert-interval.cpp
- LeetCode: insert-interval/
- Video: explanation
TODO 0056. Merge Intervals medium
- Python: 0056-merge-intervals.py
- C++: 0056-merge-intervals.cpp
- LeetCode: merge-intervals/
- Video: explanation
TODO 0435. Non Overlapping Intervals medium
- Python: 0435-non-overlapping-intervals.py
- C++: 0435-non-overlapping-intervals.cpp
- LeetCode: non-overlapping-intervals/
- Video: explanation
TODO 0986. Interval List Intersections medium
- Python: 0986-interval-list-intersections.py
- C++: 0986-interval-list-intersections.cpp
- LeetCode: interval-list-intersections/
TODO 0252. Meeting Rooms easy
- Python: 0252-meeting-rooms.py
- C++: 0252-meeting-rooms.cpp
- LeetCode: meeting-rooms/
- Video: explanation
TODO 0253. Meeting Rooms II medium
- Python: 0253-meeting-rooms-ii.py
- C++: 0253-meeting-rooms-ii.cpp
- LeetCode: meeting-rooms-ii/
- Video: explanation
TODO 1851. Minimum Interval to Include Each Query hard
TODO Greedy [/]
TODO 0945. Minimum Increment to Make Array Unique medium
TODO 0053. Maximum Subarray medium
- Python: 0053-maximum-subarray.py
- C++: 0053-maximum-subarray.cpp
- LeetCode: maximum-subarray/
- Video: explanation
TODO 0978. Longest Turbulent Subarray medium
- Python: 0978-longest-turbulent-subarray.py
- C++: 0978-longest-turbulent-subarray.cpp
- LeetCode: longest-turbulent-subarray/
- Video: explanation
TODO 0055. Jump Game medium
- Python: 0055-jump-game.py
- C++: 0055-jump-game.cpp
- LeetCode: jump-game/
- Video: explanation
TODO 0045. Jump Game II medium
- Python: 0045-jump-game-ii.py
- C++: 0045-jump-game-ii.cpp
- LeetCode: jump-game-ii/
- Video: explanation
TODO 1871. Jump Game VII medium
- Python: 1871-jump-game-vii.py
- C++: 1871-jump-game-vii.cpp
- LeetCode: jump-game-vii/
- Video: explanation
TODO 0134. Gas Station medium
- Python: 0134-gas-station.py
- C++: 0134-gas-station.cpp
- LeetCode: gas-station/
- Video: explanation
TODO 0846. Hand of Straights medium
- Python: 0846-hand-of-straights.py
- C++: 0846-hand-of-straights.cpp
- LeetCode: hand-of-straights/
- Video: explanation
TODO 1899. Merge Triplets to Form Target Triplet medium
TODO 0763. Partition Labels medium
- Python: 0763-partition-labels.py
- C++: 0763-partition-labels.cpp
- LeetCode: partition-labels/
- Video: explanation
TODO 0678. Valid Parenthesis String medium
- Python: 0678-valid-parenthesis-string.py
- C++: 0678-valid-parenthesis-string.cpp
- LeetCode: valid-parenthesis-string/
- Video: explanation
TODO Advanced Graphs [/]
TODO 0743. Network Delay Time medium
- Python: 0743-network-delay-time.py
- C++: 0743-network-delay-time.cpp
- LeetCode: network-delay-time/
- Video: explanation
TODO 0332. Reconstruct Itinerary hard
- Python: 0332-reconstruct-itinerary.py
- C++: 0332-reconstruct-itinerary.cpp
- LeetCode: reconstruct-itinerary/
- Video: explanation
TODO 1584. Min Cost to Connect All Points medium
- Python: 1584-min-cost-to-connect-all-points.py
- C++: 1584-min-cost-to-connect-all-points.cpp
- LeetCode: min-cost-to-connect-all-points/
- Video: explanation
TODO 2812. Find the Safest Path in a Grid medium
- Python: 2812-find-the-safest-path-in-a-grid.py
- C++: 2812-find-the-safest-path-in-a-grid.cpp
- LeetCode: find-the-safest-path-in-a-grid/
- Video: explanation
TODO 0778. Swim In Rising Water hard
- Python: 0778-swim-in-rising-water.py
- C++: 0778-swim-in-rising-water.cpp
- LeetCode: swim-in-rising-water/
- Video: explanation
TODO 0269. Alien Dictionary hard
- Python: 0269-alien-dictionary.py
- C++: 0269-alien-dictionary.cpp
- LeetCode: alien-dictionary/
- Video: explanation
TODO 0787. Cheapest Flights Within K Stops medium
- Python: 0787-cheapest-flights-within-k-stops.py
- C++: 0787-cheapest-flights-within-k-stops.cpp
- LeetCode: cheapest-flights-within-k-stops/
- Video: explanation
TODO 2493. Divide Nodes Into the Maximum Number of Groups hard
TODO Bit Manipulation [/]
TODO 0136. Single Number easy
- Python: 0136-single-number.py
- C++: 0136-single-number.cpp
- LeetCode: single-number/
- Video: explanation
TODO 0260. Single Number III medium
- Python: 0260-single-number-iii.py
- C++: 0260-single-number-iii.cpp
- LeetCode: single-number-iii/
- Video: explanation
TODO 0191. Number of 1 Bits easy
- Python: 0191-number-of-1-bits.py
- C++: 0191-number-of-1-bits.cpp
- LeetCode: number-of-1-bits/
- Video: explanation
TODO 0338. Counting Bits easy
- Python: 0338-counting-bits.py
- C++: 0338-counting-bits.cpp
- LeetCode: counting-bits/
- Video: explanation
TODO 2220. Minimum Bit Flips to Convert Number easy
TODO 0190. Reverse Bits easy
- Python: 0190-reverse-bits.py
- C++: 0190-reverse-bits.cpp
- LeetCode: reverse-bits/
- Video: explanation
TODO 0268. Missing Number easy
- Python: 0268-missing-number.py
- C++: 0268-missing-number.cpp
- LeetCode: missing-number/
- Video: explanation
TODO 0231. Power of Two easy
- Python: 0231-power-of-two.py
- C++: 0231-power-of-two.cpp
- LeetCode: power-of-two/
- Video: explanation
TODO 0371. Sum of Two Integers medium
- Python: 0371-sum-of-two-integers.py
- C++: 0371-sum-of-two-integers.cpp
- LeetCode: sum-of-two-integers/
- Video: explanation
TODO 0007. Reverse Integer medium
- Python: 0007-reverse-integer.py
- C++: 0007-reverse-integer.cpp
- LeetCode: reverse-integer/
- Video: explanation
TODO Math & Geometry [/]
TODO 0840. Magic Squares In Grid medium
- Python: 0840-magic-squares-in-grid.py
- C++: 0840-magic-squares-in-grid.cpp
- LeetCode: magic-squares-in-grid/
- Video: explanation
TODO 0048. Rotate Image medium
- Python: 0048-rotate-image.py
- C++: 0048-rotate-image.cpp
- LeetCode: rotate-image/
- Video: explanation
TODO 0054. Spiral Matrix medium
- Python: 0054-spiral-matrix.py
- C++: 0054-spiral-matrix.cpp
- LeetCode: spiral-matrix/
- Video: explanation
TODO 2326. Spiral Matrix IV medium
- Python: 2326-spiral-matrix-iv.py
- C++: 2326-spiral-matrix-iv.cpp
- LeetCode: spiral-matrix-iv/
- Video: explanation
TODO 0073. Set Matrix Zeroes medium
- Python: 0073-set-matrix-zeroes.py
- C++: 0073-set-matrix-zeroes.cpp
- LeetCode: set-matrix-zeroes/
- Video: explanation
TODO 0202. Happy Number easy
- Python: 0202-happy-number.py
- C++: 0202-happy-number.cpp
- LeetCode: happy-number/
- Video: explanation
TODO 0066. Plus One easy
- Python: 0066-plus-one.py
- C++: 0066-plus-one.cpp
- LeetCode: plus-one/
- Video: explanation
TODO 0009. Palindrome Number easy
- Python: 0009-palindrome-number.py
- C++: 0009-palindrome-number.cpp
- LeetCode: palindrome-number/
- Video: explanation
TODO 0012. Integer to Roman medium
- Python: 0012-integer-to-roman.py
- C++: 0012-integer-to-roman.cpp
- LeetCode: integer-to-roman/
- Video: explanation
TODO 0050. Pow(x, n) medium
- Python: 0050-powx-n.py
- C++: 0050-powx-n.cpp
- LeetCode: powx-n/
- Video: explanation
TODO 2698. Find the Punishment Number of an Integer medium
TODO 1780. Check if Number is a Sum of Powers of Three medium
TODO 0043. Multiply Strings medium
- Python: 0043-multiply-strings.py
- C++: 0043-multiply-strings.cpp
- LeetCode: multiply-strings/
- Video: explanation
TODO 2013. Detect Squares medium
- Python: 2013-detect-squares.py
- C++: 2013-detect-squares.cpp
- LeetCode: detect-squares/
- Video: explanation
TODO 0296. Best Meeting Point hard
- Python: 0296-best-meeting-point.py
- C++: 0296-best-meeting-point.cpp
- LeetCode: best-meeting-point/
TODO 2-D Dynamic Programming [/]
TODO 0062. Unique Paths medium
- Python: 0062-unique-paths.py
- C++: 0062-unique-paths.cpp
- LeetCode: unique-paths/
- Video: explanation
TODO 1143. Longest Common Subsequence medium
- Python: 1143-longest-common-subsequence.py
- C++: 1143-longest-common-subsequence.cpp
- LeetCode: longest-common-subsequence/
- Video: explanation
TODO 0309. Best Time to Buy And Sell Stock With Cooldown medium
TODO 0518. Coin Change II medium
- Python: 0518-coin-change-ii.py
- C++: 0518-coin-change-ii.cpp
- LeetCode: coin-change-ii/
- Video: explanation
TODO 0494. Target Sum medium
- Python: 0494-target-sum.py
- C++: 0494-target-sum.cpp
- LeetCode: target-sum/
- Video: explanation
TODO 0097. Interleaving String medium
- Python: 0097-interleaving-string.py
- C++: 0097-interleaving-string.cpp
- LeetCode: interleaving-string/
- Video: explanation
TODO 0329. Longest Increasing Path In a Matrix hard
TODO 1911. Maximum Alternating Subsequence Sum medium
TODO 0115. Distinct Subsequences hard
- Python: 0115-distinct-subsequences.py
- C++: 0115-distinct-subsequences.cpp
- LeetCode: distinct-subsequences/
- Video: explanation
TODO 0072. Edit Distance medium
- Python: 0072-edit-distance.py
- C++: 0072-edit-distance.cpp
- LeetCode: edit-distance/
- Video: explanation
TODO 1220. Count Vowels Permutation hard
- Python: 1220-count-vowels-permutation.py
- C++: 1220-count-vowels-permutation.cpp
- LeetCode: count-vowels-permutation/
- Video: explanation
TODO 0312. Burst Balloons hard
- Python: 0312-burst-balloons.py
- C++: 0312-burst-balloons.cpp
- LeetCode: burst-balloons/
- Video: explanation
TODO 0010. Regular Expression Matching hard
- Python: 0010-regular-expression-matching.py
- C++: 0010-regular-expression-matching.cpp
- LeetCode: regular-expression-matching/
- Video: explanation