I suffered with DSA and coding for a long time. Especially even when I was given patterns that should have helped me. It wasn’t until I spoke to my friend who was a senior engineer at Netflix that it got resolved. And he helped me with 3 key things
A Pyramid based approach on problems with most asked patterns vs least asked patterns which helped me practice accordingly.
35+ resources and patterns which helped me understand each pattern properly.
Problems for each pattern.
Pyramid based system with green being most asked and red being least asked.
RESOURCES TO UNDERSTAND EACH PATTERN
1. Dynamic Programming
Link 1
DP for beginners
DP problems orderwise
2. Linked List
Linked List Mastery
Linked List Study Guide
3. Prefix Sum
Explainer
4. Bits Manipulation
All types of explanation
5. Strings
Important String Questions
6. Sliding Window
Cheatsheet
7. Back Tracking
Level wise problems
Approach to solve backtracking
8. Two Pointers
Strategy
Master two pointer
9. Stack & Queue
Approach
Monotonic Stacks and Queues
10. Heap
Understanding 4 patterns for HEAP
Patterns for HEAPS
11. Binary Search
Binary Search Template
Binary search algorithm guide
12. Graphs
Graph Algorithms
Graph Mastery
Disjoint Set Guide
13. Tree
Pattern
Master Tree Patterns
Binary Tree Guide
14. Recursion
Become Master in Recursion
15. Greedy
ABCs of Greedy
6 WEEK ROADMAP
WEEK 1 : Two Pointers , Fast & Slow pointers, Sliding Window and Merge Intervals
Introduction
Pair with Target Sum (easy) LeetCode
Remove Duplicates (easy) LeetCode LeetCode LeetCode LeetCode LeetCode
Squaring a Sorted Array (easy) LeetCode
Triplet Sum to Zero (medium) LeetCode
Triplet Sum Close to Target (medium) LeetCode
Triplets with Smaller Sum (medium) LintCode
Subarrays with Product Less than a Target (medium) LeetCode
Dutch National Flag Problem (medium) CoderByte
Problem Challenge 1: Quadruple Sum to Target (medium) Leetcode
Problem Challenge 2: Comparing Strings containing Backspaces (medium) Leetcode
Problem Challenge 3: Minimum Window Sort (medium) Leetcode Ideserve
Introduction emre.me
LinkedList Cycle (easy) Leetcode
Start of LinkedList Cycle (medium) Leetcode
Happy Number (medium) Leetcode
Middle of the LinkedList (easy) Leetcode
Problem Challenge 1: Palindrome LinkedList (medium) Leetcode
Problem Challenge 2: Rearrange a LinkedList (medium) Leetcode
Problem Challenge 3: Cycle in a Circular Array (hard) Leetcode
Introduction
Maximum Sum Subarray of Size K (easy)
Smallest Subarray with a given sum (easy) Educative.io
Longest Substring with K Distinct Characters (medium) Educative.io
Fruits into Baskets (medium) LeetCode
No-repeat Substring (hard) LeetCode
Longest Substring with Same Letters after Replacement (hard) LeetCode
Longest Subarray with Ones after Replacement (hard) LeetCode
Problem Challenge 1: Permutation in a String (hard) Leetcode
Problem Challenge 2: String Anagrams (hard) Leetcode
Problem Challenge 3: Smallest Window containing Substring (hard) Leetcode
Problem Challenge 4: Words Concatenation (hard) Leetcode
Introduction Educative.io
Merge Intervals (medium) Educative.io
Insert Interval (medium) Educative.io
Intervals Intersection (medium) Educative.io
Conflicting Appointments (medium) Geeksforgeeks
Problem Challenge 1: Minimum Meeting Rooms (hard) Lintcode
Problem Challenge 2: Maximum CPU Load (hard) Geeksforgeeks
Problem Challenge 3: Employee Free Time (hard) CoderTrain
WEEK 2: Cyclic Sort , In-place reversal of Linked List , Stack and Monotonic Stack
Introduction emre.me
Cyclic Sort (easy) Geeksforgeeks
Find the Missing Number (easy) Leetcode
Find all Missing Numbers (easy) Leetcode
Find the Duplicate Number (easy) Leetcode
Find all Duplicate Numbers (easy) Leetcode
Problem Challenge 1: Find the Corrupt Pair (easy) TheCodingSimplified
Problem Challenge 2: Find the Smallest Missing Positive Number (medium) Leetcode
Problem Challenge 3: Find the First K Missing Positive Numbers (hard) TheCodingSimplified
Introduction emre.me
Reverse a LinkedList (easy) Leetcode
Reverse a Sub-list (medium) Leetcode
Reverse every K-element Sub-list (medium) Leetcode
Problem Challenge 1: Reverse alternating K-element Sub-list (medium) Geeksforgeeks
Problem Challenge 2: Rotate a LinkedList (medium) Leetcode
Introduction to Stack (Operations, Implementation, Applications)
Balanced Parentheses Leetcode
Reverse a String
Decimal to Binary Conversion
Next Greater Element Leetcode - I Leetcode -II Leetcode - III (Hard)
Sorting a Stack
Simplify Path Leetcode
Introduction to Monotonic Stack
Next Greater Element (easy) Leetcode - I Leetcode -II Leetcode - III (Hard)
Daily Temperatures (easy) Leetcode
Remove Nodes From Linked List (easy) Leetcode
Remove All Adjacent Duplicates In String (easy) Leetcode
Remove All Adjacent Duplicates in String II (medium) Leetcode
Remove K Digits (hard) Leetcode
WEEK 3: Hash Maps , Tree : BFS, Tree : DFS and Graph
Introduction (Hashing, Hash Tables, Issues)
First Non-repeating Character (easy) Leetcode
Largest Unique Number (easy) Leetcode+
Maximum Number of Balloons (easy) Leetcode
Longest Palindrome(easy) Leetcode
Ransom Note (easy) Leetcode
Binary Tree Level Order Traversal (easy) Leetcode
Reverse Level Order Traversal (easy) Leetcode
Zigzag Traversal (medium) Leetcode
Level Averages in a Binary Tree (easy) Leetcode
Minimum Depth of a Binary Tree (easy) Leetcode
Maximum Depth of a Binary Tree (easy) Leetcode
Level Order Successor (easy) Geeksforgeeks
Connect Level Order Siblings (medium) Leetcode
Problem Challenge 1: Connect All Level Order Siblings (medium) Educative
Problem Challenge 2: Right View of a Binary Tree (easy) Leetcode
Introduction
Binary Tree Path Sum (easy) Leetcode
All Paths for a Sum (medium) Leetcode
Sum of Path Numbers (medium) Leetcode
Path With Given Sequence (medium) Geeksforgeeks
Count Paths for a Sum (medium) Leetcode
Problem Challenge 1: Tree Diameter (medium) Leetcode
Problem Challenge 2: Path with Maximum Sum (hard) Leetcode
Introduction to Graph (Representations, Abstract Data Type (ADT))
Graph Traversal: Depth First Search(DFS)
Graph Traversal: Breadth First Search (BFS)
Find if Path Exists in Graph(easy) Leetcode
Number of Provinces (medium) Leetcode
Minimum Number of Vertices to Reach All Nodes(medium) Leetcode
WEEK 4: Island , Two Heaps, Subsets and Modified Binary Search
Introduction to Island Pattern
Number of Islands (easy) Leetcode
Biggest Island (easy)
Flood Fill (easy) Leetcode
Number of Closed Islands (easy) Leetcode
Find the Median of a Number Stream (medium) Leetcode
Sliding Window Median (hard) Leetcode
Maximize Capital (hard) Leetcode
*Maximum Sum Combinations (medium) InterviewBit
Introduction Educative.io
Subsets (easy) Educative.io
Subsets With Duplicates (easy) Educative.io
Permutations (medium) Educative.io
Introduction Complete Pattern Theory and Solutions
Order-agnostic Binary Search (easy) Geeksforgeeks
Ceiling of a Number (medium) Geeksforgeeks-Ceil Geeksforgeeks-Floor
Next Letter (medium) Leetcode
Number Range (medium) Leetcode
Search in a Sorted Infinite Array (medium) Leetcode
Minimum Difference Element (medium): Find the floor & ceil take the difference, minimum would be the ans
Bitonic Array Maximum (easy) Geeksforgeeks
Problem Challenge 1: Search Bitonic Array (medium) Leetcode
Problem Challenge 2: Search in Rotated Array (medium) Leetcode
Problem Challenge 3: Rotation Count (medium) Geeksforgeeks
*Search a 2D Matrix (medium) Leetcode
*Minimum Number of Days to Make m Bouquets (medium) Leetcode
*Koko Eating Bananas (medium) Leetcode
*Capacity To Ship Packages Within D Days (medium) Leetcode
*Median of Two Sorted Arrays (hard) Leetcode
WEEK 5: Bitwise XOR , Top K Elements , K-way merge and Greedy Sort
Single Number (easy)
Two Single Numbers (medium)
Complement of Base 10 Number (medium)
Problem Challenge 1: Flip and Invert an Image (hard)
Top 'K' Numbers (easy) Solution
Kth Smallest Number (easy)
'K' Closest Points to the Origin (easy) Leetcode
Connect Ropes (easy)
Top 'K' Frequent Numbers (medium)
Frequency Sort (medium)
Kth Largest Number in a Stream (medium) Leetcode
Merge K Sorted Lists (medium) Leetcode
Kth Smallest Number in M Sorted Lists (Medium) Geeksforgeeks
Kth Smallest Number in a Sorted Matrix (Hard) Educative.io
Smallest Number Range (Hard) Leetcode
Valid Palindrome II (easy) Leetcode
Maximum Length of Pair Chain (medium) Leetcode
Minimum Add to Make Parentheses Valid (medium) Leetcode
Remove Duplicate Letters (medium) Leetcode
Largest Palindromic Number (Medium) Leetcode
Removing Minimum and Maximum From Array (medium) Leetcode
WEEK 6: 0/1 Knapsack , BackTracking, Trie and Topological Sort
0/1 Knapsack (medium) Geeksforgeeks
Equal Subset Sum Partition (medium) Leetcode
Subset Sum (medium) Geeksforgeeks
Minimum Subset Sum Difference (hard) Geeksforgeeks
Combination Sum (medium) Leetcode - I Leetcode - II Leetcode - III Leetcode - IV
Word Search (medium) Leetcode - I Leetcode - II (Hard)
Sudoku Solver (hard) Leetcode
Factor Combinations (medium) Leetcode+
Split a String Into the Max Number of Unique Substrings (medium) Leetcode
Implement Trie (Prefix Tree) (medium) Leetcode
Index Pairs of a String (easy) Leetcode+
Design Add and Search Words Data Structure (medium) Leetcode
Extra Characters in a String (medium) Leetcode
Search Suggestions System (medium) Leetcode
Topological Sort (medium) Youtube
Tasks Scheduling (medium) Leetcode-Similar
Tasks Scheduling Order (medium) Leetcode-Similar
All Tasks Scheduling Orders (hard) Leetcode-Similar
Alien Dictionary (hard) Leetcode
Problem Challenge 1: Reconstructing a Sequence (hard) Leetcode
Problem Challenge 2: Minimum Height Trees (hard) Leetcode
WEEK 7 : Union Find , Ordered Set and Multi-thread (optional)
Redundant Connection (medium) Leetcode - I Leetcode - II (Hard)
Number of Provinces (medium) Leetcode
Is Graph Bipartite? (medium) Leetcode
Path With Minimum Effort (medium) Leetcode
Merge Similar Items (easy) Leetcode
132 Pattern (medium) Leetcode
My Calendar I (medium) Leetcode Leetcode - II Leetcode - III (Hard)
I provide all my resources and information for free and I hope that even 1% of this can help you in your career. At the same time, I do this all by myself and don’t have anyone to help or any marketing budget to work with. So, if you found this article helpful, consider supporting me by making a donation through buymeacoffee , becoming a paid member of substack or susbcribing to my Youtube page.