Complete Data Structures and Algorithms Guide
Complete Data Structures and Algorithms Guide
com
Arrays
Easy
- https://leetcode.com/problems/roman-to-integer/
- https://leetcode.com/problems/valid-parentheses/
- https://leetcode.com/problems/remove-duplicates-from-sorted-array/
- https://leetcode.com/problems/remove-element/
- https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
- https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/
- https://leetcode.com/problems/intersection-of-two-arrays-ii/
- https://leetcode.com/problems/single-number/
- https://leetcode.com/problems/contains-duplicate/
- https://leetcode.com/problems/plus-one/
- https://leetcode.com/problems/move-zeroes/
- https://leetcode.com/problems/rotate-image/
Medium
- https://leetcode.com/problems/3sum/
- https://leetcode.com/problems/4sum/
- https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array
/
- https://leetcode.com/problems/group-anagrams/
- https://leetcode.com/problems/reduce-array-size-to-the-half/
- https://leetcode.com/problems/merge-intervals/
30DaysCoding.com
Linked list
Easy
- https://leetcode.com/problems/delete-node-in-a-linked-list/
- https://leetcode.com/problems/remove-nth-node-from-end-of-list/
- https://leetcode.com/problems/merge-two-sorted-lists/
- https://leetcode.com/problems/palindrome-linked-list/
- https://leetcode.com/problems/linked-list-cycle/
Medium
- https://leetcode.com/problems/intersection-of-two-linked-lists/
- https://leetcode.com/problems/remove-linked-list-elements/
- https://leetcode.com/problems/middle-of-the-linked-list/
- https://leetcode.com/problems/merge-k-sorted-lists/
Binary search
Easy
- https://leetcode.com/problems/binary-search/
- https://leetcode.com/problems/intersection-of-two-arrays/
- https://leetcode.com/problems/first-bad-version/
- https://leetcode.com/problems/arranging-coins/
- https://leetcode.com/problems/search-insert-position/
Medium
- https://leetcode.com/problems/search-in-rotated-sorted-array/
- https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array
/
- https://leetcode.com/problems/kth-smallest-element-in-a-bst/
- https://leetcode.com/problems/find-peak-element/
- https://leetcode.com/problems/split-array-largest-sum/
30DaysCoding.com
Sliding window
Read
- Leetcode Pattern 2 | Sliding Windows for Strings | by csgator | Leetcode Patterns
Easy/Medium
- https://leetcode.com/problems/longest-substring-without-repeating-characters/
- https://leetcode.com/problems/find-all-anagrams-in-a-string/description/
- https://leetcode.com/problems/minimum-window-substring/description/
- https://leetcode.com/problems/count-number-of-nice-subarrays/
- https://leetcode.com/problems/fruit-into-baskets/
2 pointers
- https://leetcode.com/problems/intersection-of-two-arrays/
- https://leetcode.com/problems/maximum-ascending-subarray-sum/
- https://leetcode.com/problems/backspace-string-compare/
- https://leetcode.com/problems/long-pressed-name/
- https://leetcode.com/problems/fruit-into-baskets/
- https://leetcode.com/problems/max-consecutive-ones-iii/
- https://leetcode.com/problems/container-with-most-water/
Stacks, Queues
- Easy
- https://leetcode.com/problems/valid-parentheses/
- https://leetcode.com/problems/implement-queue-using-stacks/
- https://leetcode.com/problems/min-stack/
- Medium
- https://leetcode.com/problems/design-circular-queue/
- https://leetcode.com/problems/decode-string/
30DaysCoding.com
- https://leetcode.com/problems/open-the-lock/
- https://leetcode.com/problems/daily-temperatures/
- https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/
BFS, DFS
Read
- Leetcode Pattern 1 | BFS + DFS == 25% of the problems — part 1
- Leetcode Pattern 1 | DFS + BFS == 25% of the problems — part 2
Questions
- https://leetcode.com/problems/flood-fill/
- https://leetcode.com/problems/binary-tree-preorder-traversal/
- https://leetcode.com/problems/number-of-islands/
- https://leetcode.com/problems/walls-and-gates/
- https://leetcode.com/problems/max-area-of-island/
- https://leetcode.com/problems/number-of-provinces/
- https://leetcode.com/problems/perfect-squares/
- https://leetcode.com/problems/course-schedule/
- https://www.geeksforgeeks.org/detect-cycle-undirected-graph/
- https://leetcode.com/problems/word-ladder/
- https://leetcode.com/problems/01-matrix/
- https://leetcode.com/problems/rotting-oranges/
- https://leetcode.com/problems/perfect-squares/
- https://leetcode.com/problems/all-paths-from-source-to-target/
- https://leetcode.com/problems/number-of-closed-islands/
Recursion
Easy
- 509. Fibonacci Number
- Reverse String
30DaysCoding.com
Backtracking
Read
- Leetcode Pattern 3 | Backtracking | by csgator | Leetcode Patterns
- A general approach to backtracking questions in Java (Subsets, Permutations,
Combination Sum, Palindrome Partitioning)
Easy
- Word Search
- Leetcode #78 Subsets
- 90. Subsets II
- Letter Case Permutation
Medium
- 39. Combination Sum
- 17. Letter Combinations of a Phone Number
- Combinations
- Leetcode : Combination Sum II
- 216. Combination Sum III
- Combination Sum IV
- 46. Permutations
- 47. Permutations II
- 31. Next Permutation
- 51. N-Queens
30DaysCoding.com
Trees
Read
- Leetcode Pattern 0 | Iterative traversals on Trees | by csgator | Leetcode Patterns
Easy
- https://leetcode.com/problems/binary-tree-preorder-traversal/
- https://leetcode.com/problems/binary-tree-inorder-traversal/
- https://leetcode.com/problems/binary-tree-postorder-traversal/
- https://leetcode.com/problems/validate-binary-search-tree/
- https://leetcode.com/problems/minimum-distance-between-bst-nodes/
- https://leetcode.com/problems/symmetric-tree/
- https://leetcode.com/problems/same-tree/
- https://leetcode.com/problems/path-sum/
- https://leetcode.com/problems/maximum-depth-of-binary-tree/
- https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/
- Medium
- https://leetcode.com/problems/validate-binary-search-tree/
- https://leetcode.com/problems/binary-search-tree-iterator/
- https://leetcode.com/problems/unique-binary-search-trees/
- https://leetcode.com/problems/serialize-and-deserialize-bst/
- https://leetcode.com/problems/binary-tree-right-side-view/
- https://leetcode.com/problems/binary-tree-level-order-traversal/
- https://leetcode.com/problems/binary-tree-level-order-traversal-ii/
- https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/
Dynamic programming
Easy
- https://leetcode.com/problems/maximum-subarray/
30DaysCoding.com
- https://leetcode.com/problems/fibonacci-number/
- https://leetcode.com/problems/climbing-stairs/
- https://leetcode.com/problems/min-cost-climbing-stairs/
- https://leetcode.com/problems/n-th-tribonacci-number/
Medium
- https://leetcode.com/problems/coin-change/
- https://leetcode.com/problems/minimum-falling-path-sum/
- https://leetcode.com/problems/minimum-cost-for-tickets/
- https://leetcode.com/problems/2-keys-keyboard/
- https://leetcode.com/problems/maximum-product-subarray/
- https://leetcode.com/problems/triangle/
- https://leetcode.com/problems/ones-and-zeroes/
- https://leetcode.com/problems/longest-arithmetic-subsequence/
- https://leetcode.com/problems/partition-equal-subset-sum/
- https://leetcode.com/problems/house-robber/
- https://leetcode.com/problems/decode-ways/
- https://leetcode.com/problems/word-break/
- https://leetcode.com/problems/edit-distance/
- https://leetcode.com/problems/longest-increasing-subsequence/
Graphs
Easy
- https://leetcode.com/problems/employee-importance/
- https://leetcode.com/problems/find-the-town-judge/
Medium
- https://leetcode.com/problems/course-schedule-ii/
- https://leetcode.com/problems/redundant-connection/
- https://leetcode.com/problems/surrounded-regions/
- https://leetcode.com/problems/accounts-merge/
30DaysCoding.com
- https://leetcode.com/problems/network-delay-time/
- https://leetcode.com/problems/is-graph-bipartite/
- https://leetcode.com/problems/find-eventual-safe-states/
- https://leetcode.com/problems/keys-and-rooms/
- https://leetcode.com/problems/possible-bipartition/
- https://leetcode.com/problems/most-stones-removed-with-same-row-or-column/
- https://leetcode.com/problems/rotting-oranges/
- https://leetcode.com/problems/number-of-operations-to-make-network-connected/
Additional questions
- https://leetcode.com/problems/longest-common-prefix/
- https://leetcode.com/problems/implement-trie-prefix-tree/
Random
- https://leetcode.com/explore/
Videos
Some long videos, to revise or study in one long stretch!
- Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer
- Introduction to Data Structures & Algorithms | Course Details & Prerequisites
- Algorithms Course - Graph Theory Tutorial from a Google Engineer