Practice
206 problems from 23 lessons. Each one is tagged with the pattern it practises, and that tag is the clue: if you know the pattern, the problem gets a lot smaller.
Problems open on LeetCode; DSA Karle does not run or judge your code. Stuck? Open the pattern’s lesson and try your own input first, or browse the paths.
206 problems
Foundations61 problems
Data in a row
- Remove Element (opens LeetCode in a new tab)
EasyArraysWorked in the lesson
- Rotate Array (opens LeetCode in a new tab)
MediumArraysWorked in the lesson
- Concatenation of Array (opens LeetCode in a new tab)
EasyDynamic ArraysWorked in the lesson
- Min Stack (opens LeetCode in a new tab)
MediumDynamic ArraysWorked in the lesson
- Insert Delete GetRandom O(1) (opens LeetCode in a new tab)
MediumDynamic ArraysWorked in the lesson
- Valid Palindrome (opens LeetCode in a new tab)
EasyStringsWorked in the lesson
Chains, piles and lines
- Valid Parentheses (opens LeetCode in a new tab)
EasyStacksWorked in the lesson
- Daily Temperatures (opens LeetCode in a new tab)
MediumStacksWorked in the lesson
Instant lookups
- Two Sum (opens LeetCode in a new tab)
EasyHash Maps & SetsWorked in the lesson
- Longest Consecutive Sequence (opens LeetCode in a new tab)
MediumHash Maps & SetsWorked in the lesson
Core Patterns53 problems
Pointers and windows
- Two Sum II - Input Array Is Sorted (opens LeetCode in a new tab)
MediumTwo PointersWorked in the lesson
- Container With Most Water (opens LeetCode in a new tab)
MediumTwo PointersWorked in the lesson
- Maximum Average Subarray I (opens LeetCode in a new tab)
EasySliding WindowWorked in the lesson
- Minimum Size Subarray Sum (opens LeetCode in a new tab)
MediumSliding WindowWorked in the lesson
- Linked List Cycle II (opens LeetCode in a new tab)
MediumFast & Slow PointersWorked in the lesson
- Range Sum Query - Immutable (opens LeetCode in a new tab)
EasyPrefix SumWorked in the lesson
Searching and sorting
- Binary Search (opens LeetCode in a new tab)
EasyBinary SearchWorked in the lesson
- Koko Eating Bananas (opens LeetCode in a new tab)
MediumBinary SearchWorked in the lesson
- Sort an Array (opens LeetCode in a new tab)
MediumSortingWorked in the lesson
Recursion, Trees & Graphs70 problems
Thinking recursively
- Fibonacci Number (opens LeetCode in a new tab)
EasyRecursion & BacktrackingWorked in the lesson
- Subsets (opens LeetCode in a new tab)
MediumRecursion & BacktrackingWorked in the lesson
- Permutations (opens LeetCode in a new tab)
MediumRecursion & BacktrackingWorked in the lesson
Trees
- Maximum Depth of Binary Tree (opens LeetCode in a new tab)
EasyBinary TreesWorked in the lesson
- Binary Tree Level Order Traversal (opens LeetCode in a new tab)
MediumBinary TreesWorked in the lesson
- Invert Binary Tree (opens LeetCode in a new tab)
EasyBinary TreesWorked in the lesson
- Delete Node in a BST (opens LeetCode in a new tab)
MediumBinary Search TreesWorked in the lesson
- Validate Binary Search Tree (opens LeetCode in a new tab)
MediumBinary Search TreesWorked in the lesson
- Kth Largest Element in a Stream (opens LeetCode in a new tab)
EasyHeaps & Priority QueuesWorked in the lesson
- Last Stone Weight (opens LeetCode in a new tab)
EasyHeaps & Priority QueuesWorked in the lesson
- Implement Trie (Prefix Tree) (opens LeetCode in a new tab)
MediumTriesWorked in the lesson
- Design Add and Search Words Data Structure (opens LeetCode in a new tab)
MediumTriesWorked in the lesson
Graphs
- Course Schedule (opens LeetCode in a new tab)
MediumGraphsWorked in the lesson
- Course Schedule II (opens LeetCode in a new tab)
MediumGraphsWorked in the lesson
- Flood Fill (opens LeetCode in a new tab)
EasyBFS & DFSWorked in the lesson
- Number of Islands (opens LeetCode in a new tab)
MediumBFS & DFSWorked in the lesson
Optimization22 problems
Choosing well
- Jump Game (opens LeetCode in a new tab)
MediumGreedyWorked in the lesson
- Jump Game II (opens LeetCode in a new tab)
MediumGreedyWorked in the lesson
Remembering answers
- Climbing Stairs (opens LeetCode in a new tab)
EasyDynamic ProgrammingWorked in the lesson
- Unique Paths (opens LeetCode in a new tab)
MediumDynamic ProgrammingWorked in the lesson
- Coin Change (opens LeetCode in a new tab)
MediumDynamic ProgrammingWorked in the lesson
“Solved” is saved only in this browser, so it will not follow you to another device.