Solvarch
DSA ProblemsProgressPlanRoadmapsReviewCheat SheetsCompaniesSystem DesignCS FundamentalsQuestion Bank
Theme

DSA Problems

169 problems · master the patterns that show up in every interview.

Daily set · 3 curated problems
0day streak
0%
0 / 169

problems solved

Easy
0/55
Medium
0/104
Hard
0/10
0 day streak

best: 0 days

Arrays0/14
Strings0/12
Two Pointers0/11
Sliding Window0/11
Binary Search0/11
Stacks & Queues0/11
Linked Lists0/12
Trees0/13
Tries0/6
Heaps & Priority Queues0/10
Backtracking0/9
Graphs0/13
Greedy0/10
Dynamic Programming0/16
Bit Manipulation0/10
TopicProblemDifficulty
  • ArraysTwo Sum
    ArraysEasy
    Easy
  • ArraysBest Time to Buy and Sell Stock
    ArraysEasy
    Easy
  • ArraysMaximum Subarray
    ArraysMedium
    Medium
  • ArraysContains Duplicate
    ArraysEasy
    Easy
  • ArraysProduct of Array Except Self
    ArraysMedium
    Medium
  • ArraysMove Zeroes
    ArraysEasy
    Easy
  • ArraysMajority Element
    ArraysEasy
    Easy
  • ArraysMaximum Product Subarray
    ArraysMedium
    Medium
  • ArraysMerge Intervals
    ArraysMedium
    Medium
  • ArraysInsert Interval
    ArraysMedium
    Medium
  • ArraysRotate Array
    ArraysEasy
    Easy
  • ArraysFirst Missing Positive
    ArraysHard
    Hard
  • ArraysLongest Consecutive Sequence
    ArraysMedium
    Medium
  • ArraysPascal's Triangle
    ArraysEasy
    Easy
  • StringsValid Anagram
    StringsEasy
    Easy
  • StringsValid Palindrome
    StringsEasy
    Easy
  • StringsLongest Substring Without Repeating Characters
    StringsMedium
    Medium
  • StringsValid Parentheses
    StringsEasy
    Easy
  • StringsLongest Palindromic Substring
    StringsMedium
    Medium
  • StringsLongest Common Prefix
    StringsEasy
    Easy
  • StringsGroup Anagrams
    StringsMedium
    Medium
  • StringsRoman to Integer
    StringsEasy
    Easy
  • StringsString to Integer (atoi)
    StringsMedium
    Medium
  • StringsFind the Index of the First Occurrence in a String
    StringsEasy
    Easy
  • StringsIsomorphic Strings
    StringsEasy
    Easy
  • StringsZigzag Conversion
    StringsMedium
    Medium
  • Two PointersTwo Sum II — Input Array Is Sorted
    Two PointersMedium
    Medium
  • Two Pointers3Sum
    Two PointersMedium
    Medium
  • Two Pointers3Sum Closest
    Two PointersMedium
    Medium
  • Two PointersContainer With Most Water
    Two PointersMedium
    Medium
  • Two PointersTrapping Rain Water
    Two PointersHard
    Hard
  • Two PointersRemove Duplicates from Sorted Array
    Two PointersEasy
    Easy
  • Two PointersSort Colors
    Two PointersMedium
    Medium
  • Two PointersIs Subsequence
    Two PointersEasy
    Easy
  • Two PointersMerge Two Sorted Arrays
    Two PointersEasy
    Easy
  • Two PointersValid Palindrome II
    Two PointersEasy
    Easy
  • Two PointersBoats to Save People
    Two PointersMedium
    Medium
  • Sliding WindowMaximum Average Subarray I
    Sliding WindowEasy
    Easy
  • Sliding WindowMinimum Size Subarray Sum
    Sliding WindowMedium
    Medium
  • Sliding WindowLongest Repeating Character Replacement
    Sliding WindowMedium
    Medium
  • Sliding WindowPermutation in String
    Sliding WindowMedium
    Medium
  • Sliding WindowFind All Anagrams in a String
    Sliding WindowMedium
    Medium
  • Sliding WindowFruit Into Baskets
    Sliding WindowMedium
    Medium
  • Sliding WindowMax Consecutive Ones III
    Sliding WindowMedium
    Medium
  • Sliding WindowLongest Subarray of 1's After Deleting One Element
    Sliding WindowMedium
    Medium
  • Sliding WindowSliding Window Maximum
    Sliding WindowHard
    Hard
  • Sliding WindowMinimum Window Substring
    Sliding WindowHard
    Hard
  • Sliding WindowSubarray Product Less Than K
    Sliding WindowMedium
    Medium
  • Binary SearchBinary Search
    Binary SearchEasy
    Easy
  • Binary SearchSearch Insert Position
    Binary SearchEasy
    Easy
  • Binary SearchSqrt(x)
    Binary SearchEasy
    Easy
  • Binary SearchPeak Index in a Mountain Array
    Binary SearchMedium
    Medium
  • Binary SearchSearch in Rotated Sorted Array
    Binary SearchMedium
    Medium
  • Binary SearchFind Minimum in Rotated Sorted Array
    Binary SearchMedium
    Medium
  • Binary SearchFind First and Last Position of Element in Sorted Array
    Binary SearchMedium
    Medium
  • Binary SearchKoko Eating Bananas
    Binary SearchMedium
    Medium
  • Binary SearchSearch a 2D Matrix
    Binary SearchMedium
    Medium
  • Binary SearchMedian of Two Sorted Arrays
    Binary SearchHard
    Hard
  • Binary SearchCapacity to Ship Packages Within D Days
    Binary SearchMedium
    Medium
  • Stacks & QueuesMin Stack
    Stacks & QueuesMedium
    Medium
  • Stacks & QueuesImplement Queue using Stacks
    Stacks & QueuesEasy
    Easy
  • Stacks & QueuesEvaluate Reverse Polish Notation
    Stacks & QueuesMedium
    Medium
  • Stacks & QueuesDaily Temperatures
    Stacks & QueuesMedium
    Medium
  • Stacks & QueuesNext Greater Element II
    Stacks & QueuesMedium
    Medium
  • Stacks & QueuesAsteroid Collision
    Stacks & QueuesMedium
    Medium
  • Stacks & QueuesSimplify Path
    Stacks & QueuesMedium
    Medium
  • Stacks & QueuesDecode String
    Stacks & QueuesMedium
    Medium
  • Stacks & QueuesRemove K Digits
    Stacks & QueuesMedium
    Medium
  • Stacks & QueuesLargest Rectangle in Histogram
    Stacks & QueuesHard
    Hard
  • Stacks & QueuesNext Greater Element I
    Stacks & QueuesEasy
    Easy
  • Linked ListsReverse Linked List
    Linked ListsEasy
    Easy
  • Linked ListsMiddle of the Linked List
    Linked ListsEasy
    Easy
  • Linked ListsMerge Two Sorted Lists
    Linked ListsEasy
    Easy
  • Linked ListsLinked List Cycle
    Linked ListsEasy
    Easy
  • Linked ListsRemove Nth Node From End of List
    Linked ListsMedium
    Medium
  • Linked ListsRemove Duplicates from Sorted List
    Linked ListsEasy
    Easy
  • Linked ListsPalindrome Linked List
    Linked ListsEasy
    Easy
  • Linked ListsReorder List
    Linked ListsMedium
    Medium
  • Linked ListsAdd Two Numbers
    Linked ListsMedium
    Medium
  • Linked ListsOdd Even Linked List
    Linked ListsMedium
    Medium
  • Linked ListsSwap Nodes in Pairs
    Linked ListsEasy
    Easy
  • Linked ListsRotate List
    Linked ListsMedium
    Medium
  • TreesInvert Binary Tree
    TreesEasy
    Easy
  • TreesMaximum Depth of Binary Tree
    TreesEasy
    Easy
  • TreesSame Tree
    TreesEasy
    Easy
  • TreesSymmetric Tree
    TreesEasy
    Easy
  • TreesDiameter of Binary Tree
    TreesEasy
    Easy
  • TreesPath Sum
    TreesEasy
    Easy
  • TreesBinary Tree Level Order Traversal
    TreesMedium
    Medium
  • TreesValidate Binary Search Tree
    TreesMedium
    Medium
  • TreesLowest Common Ancestor of a BST
    TreesMedium
    Medium
  • TreesBinary Tree Right Side View
    TreesMedium
    Medium
  • TreesKth Smallest Element in a BST
    TreesMedium
    Medium
  • TreesBinary Tree Maximum Path Sum
    TreesHard
    Hard
  • TreesSubtree of Another Tree
    TreesEasy
    Easy
  • TriesImplement Trie (Prefix Tree)
    TriesMedium
    Medium
  • TriesDesign Add and Search Words Data Structure
    TriesMedium
    Medium
  • TriesLongest Word in Dictionary
    TriesMedium
    Medium
  • TriesReplace Words
    TriesMedium
    Medium
  • TriesWord Break
    TriesMedium
    Medium
  • TriesCounting Words With a Given Prefix
    TriesEasy
    Easy
  • Heaps & Priority QueuesKth Largest Element in an Array
    Heaps & Priority QueuesMedium
    Medium
  • Heaps & Priority QueuesLast Stone Weight
    Heaps & Priority QueuesEasy
    Easy
  • Heaps & Priority QueuesTop K Frequent Elements
    Heaps & Priority QueuesMedium
    Medium
  • Heaps & Priority QueuesK Closest Points to Origin
    Heaps & Priority QueuesMedium
    Medium
  • Heaps & Priority QueuesKth Largest Element in a Stream
    Heaps & Priority QueuesEasy
    Easy
  • Heaps & Priority QueuesTask Scheduler
    Heaps & Priority QueuesMedium
    Medium
  • Heaps & Priority QueuesSort Characters By Frequency
    Heaps & Priority QueuesMedium
    Medium
  • Heaps & Priority QueuesFind Median from Data Stream
    Heaps & Priority QueuesHard
    Hard
  • Heaps & Priority QueuesMerge k Sorted Lists
    Heaps & Priority QueuesHard
    Hard
  • Heaps & Priority QueuesKth Smallest Element in a Sorted Matrix
    Heaps & Priority QueuesMedium
    Medium
  • BacktrackingSubsets
    BacktrackingMedium
    Medium
  • BacktrackingPermutations
    BacktrackingMedium
    Medium
  • BacktrackingCombination Sum
    BacktrackingMedium
    Medium
  • BacktrackingCombination Sum II
    BacktrackingMedium
    Medium
  • BacktrackingGenerate Parentheses
    BacktrackingMedium
    Medium
  • BacktrackingLetter Combinations of a Phone Number
    BacktrackingMedium
    Medium
  • BacktrackingPalindrome Partitioning
    BacktrackingMedium
    Medium
  • BacktrackingN-Queens II
    BacktrackingHard
    Hard
  • BacktrackingSubsets II
    BacktrackingMedium
    Medium
  • GraphsNumber of Islands
    GraphsMedium
    Medium
  • GraphsMax Area of Island
    GraphsMedium
    Medium
  • GraphsFlood Fill
    GraphsEasy
    Easy
  • GraphsRotting Oranges
    GraphsMedium
    Medium
  • GraphsWalls and Gates
    GraphsMedium
    Medium
  • GraphsCourse Schedule
    GraphsMedium
    Medium
  • GraphsCourse Schedule II
    GraphsMedium
    Medium
  • GraphsGraph Valid Tree
    GraphsMedium
    Medium
  • GraphsNumber of Connected Components in an Undirected Graph
    GraphsMedium
    Medium
  • GraphsRedundant Connection
    GraphsMedium
    Medium
  • GraphsNetwork Delay Time
    GraphsMedium
    Medium
  • GraphsCheapest Flights Within K Stops
    GraphsMedium
    Medium
  • GraphsMin Cost to Connect All Points
    GraphsMedium
    Medium
  • GreedyAssign Cookies
    GreedyEasy
    Easy
  • GreedyLemonade Change
    GreedyEasy
    Easy
  • GreedyJump Game
    GreedyMedium
    Medium
  • GreedyJump Game II
    GreedyMedium
    Medium
  • GreedyGas Station
    GreedyMedium
    Medium
  • GreedyHand of Straights
    GreedyMedium
    Medium
  • GreedyPartition Labels
    GreedyMedium
    Medium
  • GreedyValid Parenthesis String
    GreedyMedium
    Medium
  • GreedyNon-overlapping Intervals
    GreedyMedium
    Medium
  • GreedyBest Time to Buy and Sell Stock II
    GreedyEasy
    Easy
  • Dynamic ProgrammingClimbing Stairs
    Dynamic ProgrammingEasy
    Easy
  • Dynamic ProgrammingMin Cost Climbing Stairs
    Dynamic ProgrammingEasy
    Easy
  • Dynamic ProgrammingHouse Robber
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingHouse Robber II
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingCoin Change
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingLongest Increasing Subsequence
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingLongest Common Subsequence
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingUnique Paths
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingMinimum Path Sum
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingDecode Ways
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingEdit Distance
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingPartition Equal Subset Sum
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingTarget Sum
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingPalindromic Substrings
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingLongest Palindromic Subsequence
    Dynamic ProgrammingMedium
    Medium
  • Dynamic ProgrammingPerfect Squares
    Dynamic ProgrammingMedium
    Medium
  • Bit ManipulationSingle Number
    Bit ManipulationEasy
    Easy
  • Bit ManipulationSingle Number II
    Bit ManipulationMedium
    Medium
  • Bit ManipulationNumber of 1 Bits
    Bit ManipulationEasy
    Easy
  • Bit ManipulationCounting Bits
    Bit ManipulationEasy
    Easy
  • Bit ManipulationMissing Number
    Bit ManipulationEasy
    Easy
  • Bit ManipulationPower of Two
    Bit ManipulationEasy
    Easy
  • Bit ManipulationReverse Bits
    Bit ManipulationEasy
    Easy
  • Bit ManipulationSum of Two Integers
    Bit ManipulationMedium
    Medium
  • Bit ManipulationAdd Binary
    Bit ManipulationEasy
    Easy
  • Bit ManipulationHamming Distance
    Bit ManipulationEasy
    Easy