Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ashishps1/awesome-leetcode-resources

This repository contains LeetCode articles which are very useful during the interview preparation.
https://github.com/ashishps1/awesome-leetcode-resources

List: awesome-leetcode-resources

algorithms coding data-structures leetcode leetcode-patterns

Last synced: about 1 month ago
JSON representation

This repository contains LeetCode articles which are very useful during the interview preparation.

Awesome Lists containing this project

README

        





Join Free Newsletter

This repository contains awesome LeetCode resources to learn Data Structures and Algorithms (DSA) and prepare for Coding interviews.

## 💡 Tips
- [How to Start LeetCode](https://www.youtube.com/watch?v=Nx4bvwU0DqE)
- [How I Mastered DSA](https://blog.algomaster.io/p/how-i-mastered-data-structures-and-algorithms)

## 📌 Fundamental Concepts
- [Algorithmic Complexity](https://blog.algomaster.io/p/57bd4963-462f-4294-a972-4012691fc729)
- [Big-O Cheat Sheet](https://www.bigocheatsheet.com/)
- [Bit Manipulation Techniques](https://blog.algomaster.io/p/c650df76-f978-46ee-a572-eb13c354905d)
- [Sorting Algorithms](https://medium.com/jl-codes/understanding-sorting-algorithms-af6222995c8)
- [Linked List](https://leetcode.com/discuss/study-guide/1800120/become-master-in-linked-list)
- [Dummy Node Technique](https://blog.algomaster.io/p/5d7a1368-7a0c-461a-93a9-732333ceb2a8)
- [Queues](https://medium.com/basecs/to-queue-or-not-to-queue-2653bcde5b04)
- [Stacks](https://medium.com/basecs/stacks-and-overflows-dbcf7854dc67)
- [Hash Tables](https://medium.com/basecs/taking-hash-tables-off-the-shelf-139cbf4752f0)
- [Heaps](https://medium.com/basecs/learning-to-love-heaps-cef2b273a238)
- [Recursion](https://leetcode.com/discuss/study-guide/1733447/become-master-in-recursion)
- [Backtracking](https://medium.com/algorithms-and-leetcode/backtracking-e001561b9f28)
- [Trees](https://leetcode.com/discuss/study-guide/1820334/Become-Master-in-Tree)
- [Tries](https://medium.com/basecs/trying-to-understand-tries-3ec6bede0014)
- [Binary Search](https://leetcode.com/discuss/study-guide/786126/Python-Powerful-Ultimate-Binary-Search-Template.-Solved-many-problems)
- [Greedy Algorithm](https://www.freecodecamp.org/news/greedy-algorithms/)
- [Dynamic Programming](https://medium.com/basecs/less-repetition-more-dynamic-programming-43d29830a630)
- [Graph Theory](https://medium.com/basecs/a-gentle-introduction-to-graph-theory-77969829ead8)
- [DFS Traversal](https://medium.com/basecs/deep-dive-through-a-graph-dfs-traversal-8177df5d0f13)
- [BFS Traversal](https://medium.com/basecs/going-broad-in-a-graph-bfs-traversal-959bd1a09255)
- [Union-Find](https://leetcode.com/discuss/general-discussion/1072418/Disjoint-Set-Union-(DSU)Union-Find-A-Complete-Guide)
- [Dijkstra Algorithm](https://leetcode.com/discuss/study-guide/1059477/A-guide-to-Dijkstra's-Algorithm)
- [Minimum Spanning Tree](https://www.hackerearth.com/practice/algorithms/graphs/minimum-spanning-tree/tutorial/)

## 🚀 Patterns
- [15 Leetcode Patterns](https://blog.algomaster.io/p/15-leetcode-patterns)
- [20 DP Patterns](https://blog.algomaster.io/p/20-patterns-to-master-dynamic-programming)
- [Prefix Sum Pattern](https://blog.algomaster.io/p/f96dd3de-c89c-428e-a88d-b1f751a42a57)
- [Two Pointers Pattern](https://blog.algomaster.io/p/69025a2e-b0d5-4705-8507-bba16c2691f1)
- [Fast and Slow Pointers Pattern](https://blog.algomaster.io/p/7dcce8e9-beee-4fef-8874-7aae025031b1)
- [Sliding Window Pattern](https://blog.algomaster.io/p/f4412a17-7a3a-4d0b-8e39-9ea8f429bf7c)
- [Top 'K' Elements Pattern](https://blog.algomaster.io/p/322aac40-c4d0-4e54-980d-b22d9eeebca6)
- [Monotonic Stack Pattern](https://blog.algomaster.io/p/5dabff21-11f4-470d-8e38-76ff07c63fdf)
- [Overlapping Intervals Pattern](https://blog.algomaster.io/p/812e72f7-eced-4256-a4c1-00606ae50679)
- [Backtracking Pattern](https://blog.algomaster.io/p/81d42ca2-600c-4252-aa33-a56462090048)
- [Modified Binary Search Pattern](https://blog.algomaster.io/p/d0d81b04-4c2a-4b45-a101-5137c3146686)
- [Tree Patterns](https://leetcode.com/discuss/study-guide/937307/Iterative-or-Recursive-or-DFS-and-BFS-Tree-Traversal-or-In-Pre-Post-and-LevelOrder-or-Views)
- [Tree Iterative Traversal](https://medium.com/leetcode-patterns/leetcode-pattern-0-iterative-traversals-on-trees-d373568eb0ec)
- [Tree Question Pattern](https://leetcode.com/discuss/study-guide/2879240/TREE-QUESTION-PATTERN-2023-oror-TREE-STUDY-GUIDE)
- [Graph Patterns](https://leetcode.com/discuss/study-guide/655708/Graph-For-Beginners-Problems-or-Pattern-or-Sample-Solutions)
- [DFS + BFS Patterns (1)](https://medium.com/leetcode-patterns/leetcode-pattern-1-bfs-dfs-25-of-the-problems-part-1-519450a84353)
- [DFS + BFS Patterns (2)](https://medium.com/leetcode-patterns/leetcode-pattern-2-dfs-bfs-25-of-the-problems-part-2-a5b269597f52)

## 📝 Must-Read Leetcode Articles
- [Sliding Window Template](https://leetcode.com/problems/frequency-of-the-most-frequent-element/solutions/1175088/C++-Maximum-Sliding-Window-Cheatsheet-Template/)
- [Two Pointers Patterns](https://leetcode.com/discuss/study-guide/1688903/Solved-all-two-pointers-problems-in-100-days)
- [Collections of Important String Questions](https://leetcode.com/discuss/study-guide/2001789/Collections-of-Important-String-questions-Pattern)
- [Substring Problem Template](https://leetcode.com/problems/minimum-window-substring/solutions/26808/Here-is-a-10-line-template-that-can-solve-most-'substring'-problems/)
- [Binary Search Template](https://leetcode.com/discuss/study-guide/786126/Python-Powerful-Ultimate-Binary-Search-Template.-Solved-many-problems)
- [A General Approach to Backtracking Questions](https://leetcode.com/problems/permutations/solutions/18239/A-general-approach-to-backtracking-questions-in-Java-(Subsets-Permutations-Combination-Sum-Palindrome-Partioning)/)
- [Monotonic Stack Template](https://leetcode.com/discuss/study-guide/2347639/A-comprehensive-guide-and-template-for-monotonic-stack-based-problems)
- [Heap Patterns](https://leetcode.com/discuss/general-discussion/1127238/master-heap-by-solving-23-questions-in-4-patterns-category)
- [Bit Manipulation Patterns](https://leetcode.com/discuss/study-guide/4282051/all-types-of-patterns-for-bits-manipulations-and-how-to-use-it)
- [Dynamic Programming Patterns](https://leetcode.com/discuss/study-guide/458695/Dynamic-Programming-Patterns)
- [Stock Series Patterns](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/solutions/108870/most-consistent-ways-of-dealing-with-the-series-of-stock-problems/)

## 📺 YouTube Playlist
- [Abdul Bari's Algorithms Playlist](https://www.youtube.com/playlist?list=PLDN4rrl48XKpZkf03iYFl-O29szjTrs_O)
- [William Fiset's Data Structure Playlist](https://www.youtube.com/playlist?list=PLDV1Zeh2NRsB6SWUrDFW2RmDotAfPbeHu)
- [William Fiset's Graphs Playlist](https://www.youtube.com/playlist?list=PLDV1Zeh2NRsDGO4--qE8yH72HFL1Km93P)
- [Tushar Roy's Dynamic Programming Playlist](https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr)

## 📇 Courses
- [Coursera - Algorithms, Part I](https://www.coursera.org/learn/algorithms-part1)
- [Coursera - Algorithms, Part 2](https://www.coursera.org/learn/algorithms-part2)
- [Grokking the Coding Interview: Patterns for Coding Questions](https://www.designgurus.io/course/grokking-the-coding-interview/?aff=mopp8k)

## 📚 Books
- [Data Structures And Algorithms Made Easy](https://www.amazon.com/Data-Structures-Algorithms-Made-Easy-ebook/dp/B0CBW278NC/)
- [Cracking the Coding Interview](https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/)

## 🔎 Visualization
- [VisuAlgo](https://visualgo.net/en)
- [Algo-lens: Visualize leetcode problems](https://github.com/jaroslaw-weber/algo-lens)

## 📎 LeetCode Extensions
- [LeetCode Timer](https://chromewebstore.google.com/detail/leetcode-timer/gfkgelnlcnomnahkfmhemgpahgmibofd): Easily time your leetcode practise sessions with automatic time setting based on difficulty.
- [LeetCode Video Solutions](https://chromewebstore.google.com/detail/leetcode-video-solutions/ilnmgkahgjdpkoliooildngldmilhelm): Watch free LeetCode video ▶ solutions on the problem page itself.
- [LeetCode Format](https://chromewebstore.google.com/detail/leetcode-format/imogghebhifnnlgogigikjecilkicfpp): Adds Format code button on leetcode to format the code using Prettier code formatter.
- [LeetHub v2](https://chromewebstore.google.com/detail/leethub-v2/mhanfgfagplhgemhjfeolkkdidbakocm?hl=en): Automatically integrate your Leetcode & GeeksforGeeks submissions to GitHub.
- [LeetCode VS Code Extension](https://marketplace.visualstudio.com/items?itemName=LeetCode.vscode-leetcode): Solve LeetCode problems in VS Code.

## ✅ Curated Problems
- [Blind 75](https://leetcode.com/discuss/general-discussion/460599/blind-75-leetcode-questions)
- [Leetcode Top 100 Liked](https://leetcode.com/studyplan/top-100-liked/)
- [Leetcode Top Interview 150](https://leetcode.com/studyplan/top-interview-150/)

## 💻 Must-Do Problems (Topic Wise)
### Linked List
- [Reverse Linked List](https://leetcode.com/problems/reverse-linked-list/description/)
- [Linked List Cycle](https://leetcode.com/problems/linked-list-cycle/description/)
- [Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists/description/)
- [Intersection of Two Linked Lists](https://leetcode.com/problems/intersection-of-two-linked-lists/description/)
- [Remove Nth Node From End of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list/description/)
- [Add Two Numbers](https://leetcode.com/problems/add-two-numbers/description/)
- [Copy List with Random Pointer](https://leetcode.com/problems/copy-list-with-random-pointer/description/)
- [Flatten a Multilevel Doubly Linked List](https://leetcode.com/problems/flatten-a-multilevel-doubly-linked-list)
- [Rotate List](https://leetcode.com/problems/rotate-list/description/)
- [Sort List](https://leetcode.com/problems/sort-list/description/)
- [Remove Duplicates from Sorted List II](https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/description/)
- [LRU Cache](https://leetcode.com/problems/lru-cache/description/)
- [Design Browser History](https://leetcode.com/problems/design-browser-history/description/)
- [Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/description/)
- [Reverse Nodes in k-Group](https://leetcode.com/problems/reverse-nodes-in-k-group/description/)
### Binary Trees
- [Invert Binary Tree](https://leetcode.com/problems/invert-binary-tree/description/)
- [Convert Sorted Array to Binary Search Tree](https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/description/)
- [Count Complete Tree Nodes](https://leetcode.com/problems/count-complete-tree-nodes/description/)
- [All Possible Full Binary Trees](https://leetcode.com/problems/all-possible-full-binary-trees/description/)
- [Delete Leaves With a Given Value](https://leetcode.com/problems/delete-leaves-with-a-given-value/description/)
- [Binary Search Tree Iterator](https://leetcode.com/problems/binary-search-tree-iterator/description/)
- [Longest Univalue Path](https://leetcode.com/problems/longest-univalue-path/description/)
- [Delete Nodes And Return Forest](https://leetcode.com/problems/delete-nodes-and-return-forest/description/)
- [Validate Binary Search Tree](https://leetcode.com/problems/validate-binary-search-tree/description/)
- [Construct Binary Tree from Inorder and Postorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/description/)
- [All Nodes Distance K in Binary Tree](https://leetcode.com/problems/all-nodes-distance-k-in-binary-tree/description/)
- [Maximum Difference Between Node and Ancestor](https://leetcode.com/problems/maximum-difference-between-node-and-ancestor/description/)
- [Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/description/)
- [Flatten Binary Tree to Linked List](https://leetcode.com/problems/flatten-binary-tree-to-linked-list/description/)
- [House Robber III](https://leetcode.com/problems/house-robber-iii/description/)
- [Step-By-Step Directions From a Binary Tree Node to Another](https://leetcode.com/problems/step-by-step-directions-from-a-binary-tree-node-to-another/description/)
- [Delete Node in a BST](https://leetcode.com/problems/delete-node-in-a-bst/description/)
- [Populating Next Right Pointers in Each Node II](https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/description/)
- [Trim a Binary Search Tree](https://leetcode.com/problems/trim-a-binary-search-tree/description/)
- [Distribute Coins in Binary Tree](https://leetcode.com/problems/distribute-coins-in-binary-tree/description/)
- [Binary Search Tree to Greater Sum Tree](https://leetcode.com/problems/binary-search-tree-to-greater-sum-tree/description/)
- [Serialize and Deserialize Binary Tree](https://leetcode.com/problems/serialize-and-deserialize-binary-tree/description/)
- [Binary Tree Cameras](https://leetcode.com/problems/binary-tree-cameras/description/)
- [Binary Tree Maximum Path Sum](https://leetcode.com/problems/binary-tree-maximum-path-sum/description/)
- [Maximum Sum BST in Binary Tree](https://leetcode.com/problems/maximum-sum-bst-in-binary-tree/description/)
### Backtracking
- [Permutations](https://leetcode.com/problems/permutations/description/)
- [Subsets](https://leetcode.com/problems/subsets/description/)
- [Generate Parentheses](https://leetcode.com/problems/generate-parentheses/description/)
- [Combination Sum](https://leetcode.com/problems/combination-sum/description/)
- [Palindrome Partitioning](https://leetcode.com/problems/palindrome-partitioning/description/)
- [Letter Combinations of a Phone Number](https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/)
- [Unique Binary Search Trees II](https://leetcode.com/problems/unique-binary-search-trees-ii/description/)
- [Partition to K Equal Sum Subsets](https://leetcode.com/problems/partition-to-k-equal-sum-subsets/description/)
- [N-Queens II](https://leetcode.com/problems/n-queens-ii/description/)
- [Sudoku Solver](https://leetcode.com/problems/sudoku-solver/description/)
### Tries
- [Implement Trie (Prefix Tree)](https://leetcode.com/problems/implement-trie-prefix-tree/description/)
- [Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/description/)
- [Search Suggestions System](https://leetcode.com/problems/search-suggestions-system/description/)
- [Longest Word in Dictionary](https://leetcode.com/problems/longest-word-in-dictionary/description/)
- [Top K Frequent Words](https://leetcode.com/problems/top-k-frequent-words/description/)
- [Design Add and Search Words Data Structure](https://leetcode.com/problems/design-add-and-search-words-data-structure/description/)
- [Implement Magic Dictionary](https://leetcode.com/problems/implement-magic-dictionary/description/)
- [Replace Words](https://leetcode.com/problems/replace-words/description/)
- [Word Search II](https://leetcode.com/problems/word-search-ii/description/)
- [Stream of Characters](https://leetcode.com/problems/stream-of-characters/description/)

Your contributions are most welcome!