A curated list of 101 essential DSA problems for interview preparation — with progress tracking and notes.
0/101
Solved
19
Easy
66
Medium
16
Hard
0%
Progress
| Status | Title | Difficulty | Notes | Topics | Solution |
|---|---|---|---|---|---|
| Two Sum | Easy | ArrayHash Table | |||
| Best Time to Buy and Sell Stock | Easy | ArrayDynamic Programming | |||
| LRU Cache | Medium | Hash TableLinked ListDesign | |||
| Number of Islands | Medium | ArrayDepth-First SearchBreadth-First Search+2 | |||
| Reorganize String | Medium | Hash TableStringGreedy+3 | |||
| Maximum Frequency After Subarray Operation | Medium | ArrayHash TableDynamic Programming+3 | |||
| Longest Palindromic Substring | Medium | Two PointersStringDynamic Programming | |||
| Add Two Numbers | Medium | Linked ListMathRecursion | |||
| Koko Eating Bananas | Medium | ArrayBinary Search | |||
| Longest Substring Without Repeating Characters | Medium | Hash TableStringSliding Window | |||
| Find First and Last Position of Element in Sorted Array | Medium | ArrayBinary Search | |||
| Trapping Rain Water | Hard | ArrayTwo PointersDynamic Programming+2 | |||
| Top K Frequent Elements | Medium | ArrayHash TableDivide and Conquer+5 | |||
| Merge k Sorted Lists | Hard | Linked ListDivide and ConquerHeap (Priority Queue)+1 | |||
| Jump Game II | Medium | ArrayDynamic ProgrammingGreedy | |||
| Merge Intervals | Medium | ArraySorting | |||
| Group Anagrams | Medium | ArrayHash TableString+1 | |||
| Lowest Common Ancestor of a Binary Tree | Medium | TreeDepth-First SearchBinary Tree | |||
| Longest Repeating Character Replacement | Medium | Hash TableStringSliding Window | |||
| Candy | Hard | ArrayGreedy | |||
| Meeting Rooms II | Medium | ArrayTwo PointersGreedy+3 | |||
| Valid Parentheses | Easy | StringStack | |||
| Minimum Window Substring | Hard | Hash TableStringSliding Window | |||
| House Robber | Medium | ArrayDynamic Programming | |||
| Median of Two Sorted Arrays | Hard | ArrayBinary SearchDivide and Conquer | |||
| Min Stack | Medium | StackDesign | |||
| Rotate Image | Medium | ArrayMathMatrix | |||
| Best Time to Buy and Sell Stock II | Medium | ArrayDynamic ProgrammingGreedy | |||
| Concatenated Words | Hard | ArrayStringDynamic Programming+2 | |||
| Generate Parentheses | Medium | StringDynamic ProgrammingBacktracking | |||
| Search a 2D Matrix | Medium | ArrayBinary SearchMatrix | |||
| Coin Change | Medium | ArrayDynamic ProgrammingBreadth-First Search | |||
| Unique Paths | Medium | MathDynamic ProgrammingCombinatorics | |||
| LFU Cache | Hard | Hash TableLinked ListDesign+1 | |||
| Search in Rotated Sorted Array | Medium | ArrayBinary Search | |||
| Next Permutation | Medium | ArrayTwo Pointers | |||
| Rotting Oranges | Medium | ArrayBreadth-First SearchMatrix | |||
| Insert Delete GetRandom O(1) | Medium | ArrayHash TableMath+2 | |||
| Flood Fill | Easy | ArrayDepth-First SearchBreadth-First Search+1 | |||
| Fizz Buzz | Easy | MathStringSimulation | |||
| Top K Frequent Words | Medium | ArrayHash TableString+5 | |||
| Integer to Roman | Medium | Hash TableMathString | |||
| Invert Binary Tree | Easy | TreeDepth-First SearchBreadth-First Search+1 | |||
| Move Zeroes | Easy | ArrayTwo Pointers | |||
| Basic Calculator | Hard | MathStringStack+1 | |||
| Find All Possible Recipes from Given Supplies | Medium | ArrayHash TableString+2 | |||
| String to Integer (atoi) | Medium | String | |||
| Capacity To Ship Packages Within D Days | Medium | ArrayBinary Search | |||
| Roman to Integer | Easy | Hash TableMathString | |||
| Palindrome Number | Easy | Math | |||
| Maximum Subarray | Medium | ArrayDivide and ConquerDynamic Programming | |||
| Word Search | Medium | ArrayStringBacktracking+1 | |||
| Edit Distance | Medium | StringDynamic Programming | |||
| Kth Largest Element in an Array | Medium | ArrayDivide and ConquerSorting+2 | |||
| Minimum Equal Sum of Two Arrays After Replacing Zeros | Medium | ArrayGreedy | |||
| Majority Element | Easy | ArrayHash TableDivide and Conquer+2 | |||
| Maximum Profit in Job Scheduling | Hard | ArrayBinary SearchDynamic Programming+1 | |||
| Contains Duplicate | Easy | ArrayHash TableSorting | |||
| Product of Array Except Self | Medium | ArrayPrefix Sum | |||
| Combination Sum | Medium | ArrayBacktracking | |||
| Container With Most Water | Medium | ArrayTwo PointersGreedy | |||
| Number of Provinces | Medium | Depth-First SearchBreadth-First SearchUnion Find+1 | |||
| Reverse Integer | Medium | Math | |||
| Single Number | Easy | ArrayBit Manipulation | |||
| Pascal's Triangle | Easy | ArrayDynamic Programming | |||
| Min Cost Climbing Stairs | Easy | ArrayDynamic Programming | |||
| Word Search II | Hard | ArrayStringBacktracking+2 | |||
| Next Greater Element I | Easy | ArrayHash TableStack+1 | |||
| Analyze User Website Visit Pattern | Medium | ArrayHash TableSorting | |||
| Sliding Window Maximum | Hard | ArrayQueueSliding Window+2 | |||
| Word Ladder | Hard | Hash TableStringBreadth-First Search | |||
| Valid Sudoku | Medium | ArrayHash TableMatrix | |||
| Integer to English Words | Hard | MathStringRecursion | |||
| Course Schedule II | Medium | Depth-First SearchBreadth-First SearchGraph+1 | |||
| Pacific Atlantic Water Flow | Medium | ArrayDepth-First SearchBreadth-First Search+1 | |||
| Jump Game | Medium | ArrayDynamic ProgrammingGreedy | |||
| Validate Binary Search Tree | Medium | TreeDepth-First SearchBinary Search Tree+1 | |||
| Sudoku Solver | Hard | ArrayHash TableBacktracking+1 | |||
| Find the Duplicate Number | Medium | ArrayTwo PointersBinary Search+1 | |||
| String Compression | Medium | Two PointersString | |||
| Course Schedule | Medium | Depth-First SearchBreadth-First SearchGraph+1 | |||
| Maximize Distance to Closest Person | Medium | Array | |||
| Spiral Matrix | Medium | ArrayMatrixSimulation | |||
| Magnetic Force Between Two Balls | Medium | ArrayBinary SearchSorting | |||
| Happy Number | Easy | Hash TableMathTwo Pointers | |||
| Convert Sorted Array to Binary Search Tree | Easy | ArrayDivide and ConquerTree+2 | |||
| Distribute Candies Among Children II | Medium | MathCombinatoricsEnumeration | |||
| Find Eventual Safe States | Medium | Depth-First SearchBreadth-First SearchGraph+1 | |||
| Combinations | Medium | Backtracking | |||
| Design Parking System | Easy | DesignSimulationCounting | |||
| Divisible and Non-divisible Sums Difference | Easy | Math | |||
| Rotate List | Medium | Linked ListTwo Pointers | |||
| Largest Rectangle in Histogram | Hard | ArrayStackMonotonic Stack | |||
| Design In-Memory File System | Hard | Hash TableStringDesign+2 | |||
| Decode String | Medium | StringStackRecursion | |||
| Binary Tree Level Order Traversal | Medium | TreeBreadth-First SearchBinary Tree | |||
| Subarray Sum Equals K | Medium | ArrayHash TablePrefix Sum | |||
| Count Zero Request Servers | Medium | ArrayHash TableSliding Window+1 | |||
| K Closest Points to Origin | Medium | ArrayMathDivide and Conquer+4 | |||
| Evaluate Division | Medium | ArrayDepth-First SearchBreadth-First Search+3 | |||
| Top K Frequent Words | Medium | ArrayHash TableString+5 |
Showing 101 of 101 problems
Keep the momentum going with the rest of the CodeStudio practice stack.
Curated DSA Sheets
Striver, Blind 75, Love Babbar and more, with progress tracking.
Tech Career Roadmaps
Stage-by-stage plans for DSA, full stack, backend and data roles.
Company-Wise Problems
Interview process, rounds and must-solve sets per company.
Company LeetCode Sheets
650+ companies, sorted by how often each question shows up.