Hi there! ๐ This repository is a collection of DSA patterns and problems I personally used to prepare for software engineering internships like:
- Google STEP
- Microsoft Explore
- Meta University
- Amazon SDE Intern
- And more!
Itโs designed to be simple, practical, and organized by topic, so you can focus on mastering the right patterns without getting overwhelmed.
- ๐ Go through the folders by topic (e.g., Sliding Window, BFS, etc.)
- โ Use the checklists to track your progress.
- ๐ก Most problems are from LeetCode and are chosen for interview relevance.
- โ๏ธ Feel free to fork, modify, or contribute!
dsa-prep
โ
โโโ 01_prefix_sum
โโโ 02_two_pointers
โโโ 03_sliding_window
โโโ 04_fast_slow_pointers
โโโ 05_linked_list_reversal
โโโ 06_monotonic_stack
โโโ 07_top_k_heap
โโโ 08_intervals
โโโ 09_binary_search_variants
โโโ 10_binary_tree_traversals
โโโ 11_dfs
โโโ 12_bfs
โโโ 13_matrix
โโโ 14_backtracking
โโโ 15_dynamic_programming
โโโ README.md
Each folder includes practice problems with links and short explanations (WIP for some).
Here's a sample. Full list is in each folder.
- LC 303 โ Range Sum Query: Immutable
- LC 525 โ Contiguous Array
- LC 560 โ Subarray Sum Equals K
- LC 167 โ Two Sum II
- LC 15 โ 3Sum
- LC 11 โ Container With Most Water
- LC 643 โ Max Average Subarray I
- LC 3 โ Longest Substring Without Repeating Characters
- LC 76 โ Minimum Window Substring
- LC 141 โ Linked List Cycle
- LC 202 โ Happy Number
- LC 287 โ Find the Duplicate Number
- LC 206 โ Reverse Linked List
- LC 92 โ Reverse Linked List II
- LC 24 โ Swap Nodes in Pairs
- LC 496 โ Next Greater Element I
- LC 739 โ Daily Temperatures
- LC 84 โ Largest Rectangle in Histogram
- LC 215 โ Kth Largest Element in an Array
- LC 347 โ Top K Frequent Elements
- LC 373 โ Find K Pairs with Smallest Sums
- LC 56 โ Merge Intervals
- LC 57 โ Insert Interval
- LC 435 โ Non-overlapping Intervals
- LC 33 โ Search in Rotated Sorted Array
- LC 153 โ Find Minimum in Rotated Sorted Array
- LC 240 โ Search a 2D Matrix II
- LC 257 โ Binary Tree Paths
- LC 230 โ Kth Smallest Element in a BST
- LC 124 โ Binary Tree Maximum Path Sum
- LC 107 โ Level Order Traversal II
- LC 133 โ Clone Graph
- LC 113 โ Path Sum II
- LC 210 โ Course Schedule II
- LC 102 โ Binary Tree Level Order Traversal
- LC 994 โ Rotting Oranges
- LC 127 โ Word Ladder
- LC 733 โ Flood Fill
- LC 200 โ Number of Islands
- LC 130 โ Surrounded Regions
- LC 46 โ Permutations
- LC 78 โ Subsets
- LC 51 โ N-Queens
- LC 70 โ Climbing Stairs
- LC 322 โ Coin Change
- LC 300 โ Longest Increasing Subsequence
- LC 416 โ Partition Equal Subset Sum
- LC 312 โ Burst Balloons
- LC 1143 โ Longest Common Subsequence
These are mix-type problems or just slightly harder, but they strengthen your understanding:
- LC 23 โ Merge K Sorted Lists (Heap + Linked List)
- LC 138 โ Copy List with Random Pointer (HashMap + Linked List)
- LC 329 โ Longest Increasing Path in Matrix (DFS + Memoization)
- LC 212 โ Word Search II (Trie + Backtracking)
Found a bug, want to add more problems, or have suggestions?
Open an issue or a pull request โ happy to improve this together!
Please give this repo a star โญ โ it helps others find it and motivates me to keep building and updating this resource.
โConsistency beats cramming. One pattern a day keeps rejection away.โ ๐