Skip to main content
← DSA Practice

Comprehensive DSA Sheet

405 problems across 18 topics. Filter by difficulty, company, or search for specific problems. All problems link directly to LeetCode.

DSA Sheet Progress0 / 405 (0%)
📊

Arrays

36

Array manipulation, sliding window, and prefix sums

#1Two Sum
EasySolve
ArrayHash TableGoogleAmazonMeta
#153Sum
MediumSolve
ArrayTwo PointersSortingGoogleAmazonMeta
#184Sum
MediumSolve
ArrayTwo PointersSortingAmazonMicrosoftGoldman Sachs
#31Next Permutation
MediumSolve
ArrayMathGoogleAmazonMicrosoft
#75Sort Colors
MediumSolve
ArrayTwo PointersSortingAmazonMicrosoftAdobe
#283Move Zeroes
EasySolve
ArrayTwo PointersMetaBloombergApple
#26Remove Duplicates from Sorted Array
EasySolve
ArrayTwo PointersAmazonMicrosoftBloomberg
#442Find All Duplicates in an Array
MediumSolve
ArrayHash TableAmazonMicrosoftGoogle
#41First Missing Positive
HardSolve
ArrayHash TableAmazonGoogleMicrosoft
#42Trapping Rain Water
HardSolve
ArrayTwo PointersStackGoogleAmazonGoldman Sachs
#53Maximum Subarray
MediumSolve
ArrayDynamic ProgrammingDivide and ConquerAmazonGoogleMicrosoft
#121Best Time to Buy and Sell Stock
EasySolve
ArrayDynamic ProgrammingAmazonGoogleMeta
#122Best Time to Buy and Sell Stock II
MediumSolve
ArrayGreedyAmazonBloombergGoldman Sachs
#123Best Time to Buy and Sell Stock III
HardSolve
ArrayDynamic ProgrammingAmazonGoogleBloomberg
#88Merge Sorted Array
EasySolve
ArrayTwo PointersSortingMetaMicrosoftAmazon
#189Rotate Array
MediumSolve
ArrayMathAmazonMicrosoftGoogle
#560Subarray Sum Equals K
MediumSolve
ArrayHash TableGoogleMetaAmazon
#169Majority Element
EasySolve
ArraySortingHash TableAmazonGoogleMicrosoft
#229Majority Element II
MediumSolve
ArrayHash TableSortingAmazonGoogleBloomberg
#55Jump Game
MediumSolve
ArrayDynamic ProgrammingGreedyAmazonGoogleMicrosoft
#45Jump Game II
MediumSolve
ArrayDynamic ProgrammingGreedyAmazonGoogleBloomberg
#134Gas Station
MediumSolve
ArrayGreedyAmazonGoogleBloomberg
#135Candy
HardSolve
ArrayGreedyGoogleAmazonBloomberg
#238Product of Array Except Self
MediumSolve
ArrayAmazonMetaApple
#162Find Peak Element
MediumSolve
ArrayBinary SearchGoogleMetaAmazon
#11Container With Most Water
MediumSolve
ArrayTwo PointersGreedyGoogleAmazonMeta
#84Largest Rectangle in Histogram
HardSolve
ArrayStackMonotonic StackGoogleAmazonMicrosoft
#209Minimum Size Subarray Sum
MediumSolve
ArrayBinary SearchSliding WindowAmazonGoogleGoldman Sachs
#54Spiral Matrix
MediumSolve
ArrayMatrixAmazonMicrosoftApple
#59Spiral Matrix II
MediumSolve
ArrayMatrixAmazonMicrosoftAdobe
#289Game of Life
MediumSolve
ArrayMatrixGoogleAmazonAtlassian
#118Pascal's Triangle
EasySolve
ArrayDynamic ProgrammingAmazonGoogleMicrosoft
#380Insert Delete GetRandom O(1)
MediumSolve
ArrayHash TableDesignMetaAmazonGoogle
#164Maximum Gap
MediumSolve
ArraySortingAmazonMicrosoftBloomberg
#274H-Index
MediumSolve
ArraySortingGoogleMetaBloomberg
#324Wiggle Sort II
MediumSolve
ArraySortingDivide and ConquerGoogleAmazonMicrosoft
🔤

Strings

30

String manipulation, pattern matching, and parsing

#125Valid Palindrome
EasySolve
StringTwo PointersMetaAmazonMicrosoft
#680Valid Palindrome II
EasySolve
StringTwo PointersGreedyMetaAmazonMicrosoft
#344Reverse String
EasySolve
StringTwo PointersAmazonMicrosoftApple
#3Longest Substring Without Repeating Characters
MediumSolve
StringHash TableSliding WindowAmazonGoogleMeta
#76Minimum Window Substring
HardSolve
StringHash TableSliding WindowGoogleMetaAmazon
#49Group Anagrams
MediumSolve
StringHash TableSortingAmazonGoogleMeta
#242Valid Anagram
EasySolve
StringHash TableSortingAmazonBloombergGoogle
#5Longest Palindromic Substring
MediumSolve
StringDynamic ProgrammingAmazonGoogleMicrosoft
#647Palindromic Substrings
MediumSolve
StringDynamic ProgrammingMetaGoogleAmazon
#424Longest Repeating Character Replacement
MediumSolve
StringHash TableSliding WindowGoogleAmazonMicrosoft
#8String to Integer (atoi)
MediumSolve
StringMathAmazonMicrosoftBloomberg
#38Count and Say
MediumSolve
StringMetaAmazonGoogle
#6Zigzag Conversion
MediumSolve
StringAmazonPayPalAdobe
#28Find the Index of the First Occurrence in a String
EasySolve
StringTwo PointersAmazonMicrosoftApple
#14Longest Common Prefix
EasySolve
StringAmazonGoogleAdobe
#43Multiply Strings
MediumSolve
StringMathGoogleMetaAmazon
#71Simplify Path
MediumSolve
StringStackMetaAmazonGoogle
#394Decode String
MediumSolve
StringStackRecursionGoogleAmazonBloomberg
#224Basic Calculator
HardSolve
StringStackMathGoogleAmazonMicrosoft
#227Basic Calculator II
MediumSolve
StringStackMathAmazonMetaMicrosoft
#68Text Justification
HardSolve
StringArrayGoogleAmazonLinkedIn
#12Integer to Roman
MediumSolve
StringMathAmazonMicrosoftBloomberg
#13Roman to Integer
EasySolve
StringMathAmazonMicrosoftBloomberg
#17Letter Combinations of a Phone Number
MediumSolve
StringBacktrackingAmazonGoogleMeta
#22Generate Parentheses
MediumSolve
StringBacktrackingAmazonGoogleMicrosoft
#290Word Pattern
EasySolve
StringHash TableAmazonMicrosoftUber
#205Isomorphic Strings
EasySolve
StringHash TableAmazonGoogleBloomberg
#187Repeated DNA Sequences
MediumSolve
StringHash TableBit ManipulationSliding WindowAmazonGoogleLinkedIn
#921Minimum Add to Make Parentheses Valid
MediumSolve
StringStackGreedyMetaAmazonGoogle
#20Valid Parentheses
EasySolve
StringStackAmazonGoogleMeta
🔗

Linked Lists

25

Singly and doubly linked list operations

#206Reverse Linked List
EasySolve
Linked ListRecursionAmazonMicrosoftGoogle
#92Reverse Linked List II
MediumSolve
Linked ListAmazonMicrosoftBloomberg
#141Linked List Cycle
EasySolve
Linked ListTwo PointersAmazonMicrosoftBloomberg
#142Linked List Cycle II
MediumSolve
Linked ListTwo PointersAmazonMicrosoftBloomberg
#21Merge Two Sorted Lists
EasySolve
Linked ListRecursionAmazonMicrosoftGoogle
#23Merge k Sorted Lists
HardSolve
Linked ListHeapDivide and ConquerAmazonGoogleMeta
#19Remove Nth Node From End of List
MediumSolve
Linked ListTwo PointersAmazonMetaGoogle
#83Remove Duplicates from Sorted List
EasySolve
Linked ListAmazonBloombergMicrosoft
#82Remove Duplicates from Sorted List II
MediumSolve
Linked ListTwo PointersAmazonBloombergMicrosoft
#2Add Two Numbers
MediumSolve
Linked ListMathAmazonGoogleMicrosoft
#445Add Two Numbers II
MediumSolve
Linked ListStackMathAmazonMicrosoftBloomberg
#160Intersection of Two Linked Lists
EasySolve
Linked ListTwo PointersAmazonMetaBloomberg
#234Palindrome Linked List
EasySolve
Linked ListTwo PointersStackAmazonMetaBloomberg
#328Odd Even Linked List
MediumSolve
Linked ListAmazonMicrosoftBloomberg
#148Sort List
MediumSolve
Linked ListSortingDivide and ConquerAmazonMicrosoftAdobe
#143Reorder List
MediumSolve
Linked ListTwo PointersStackAmazonMetaBloomberg
#61Rotate List
MediumSolve
Linked ListTwo PointersAmazonMicrosoftBloomberg
#24Swap Nodes in Pairs
MediumSolve
Linked ListRecursionAmazonMicrosoftBloomberg
#138Copy List with Random Pointer
MediumSolve
Linked ListHash TableAmazonMicrosoftBloomberg
#430Flatten a Multilevel Doubly Linked List
MediumSolve
Linked ListDFSMetaAmazonBloomberg
#146LRU Cache
MediumSolve
Linked ListHash TableDesignAmazonGoogleMeta
#86Partition List
MediumSolve
Linked ListTwo PointersAmazonMicrosoftBloomberg
#203Remove Linked List Elements
EasySolve
Linked ListRecursionAmazonMicrosoftBloomberg
#876Middle of the Linked List
EasySolve
Linked ListTwo PointersAmazonGoogleMicrosoft
#25Reverse Nodes in k-Group
HardSolve
Linked ListRecursionAmazonGoogleMicrosoft
📚

Stacks & Queues

25

Stack and queue based problem solving

#20Valid Parentheses
EasySolve
StringStackAmazonGoogleMeta
#155Min Stack
MediumSolve
StackDesignAmazonGoogleBloomberg
#232Implement Queue using Stacks
EasySolve
StackQueueDesignAmazonMicrosoftGoldman Sachs
#225Implement Stack using Queues
EasySolve
StackQueueDesignAmazonMicrosoftBloomberg
#739Daily Temperatures
MediumSolve
ArrayStackMonotonic StackAmazonGoogleMeta
#496Next Greater Element I
EasySolve
ArrayStackHash TableMonotonic StackAmazonBloombergGoogle
#503Next Greater Element II
MediumSolve
ArrayStackMonotonic StackAmazonBloombergGoogle
#84Largest Rectangle in Histogram
HardSolve
ArrayStackMonotonic StackGoogleAmazonMicrosoft
#42Trapping Rain Water
HardSolve
ArrayTwo PointersStackMonotonic StackGoogleAmazonGoldman Sachs
#150Evaluate Reverse Polish Notation
MediumSolve
ArrayStackMathAmazonGoogleLinkedIn
#224Basic Calculator
HardSolve
StringStackMathGoogleAmazonMicrosoft
#239Sliding Window Maximum
HardSolve
ArrayQueueSliding WindowHeapMonotonic StackAmazonGoogleMeta
#735Asteroid Collision
MediumSolve
ArrayStackAmazonGoogleBloomberg
#394Decode String
MediumSolve
StringStackRecursionGoogleAmazonBloomberg
#1209Remove All Adjacent Duplicates in String II
MediumSolve
StringStackBloombergAmazonGoogle
#901Online Stock Span
MediumSolve
StackDesignMonotonic StackAmazonBloombergMicrosoft
#895Maximum Frequency Stack
HardSolve
StackHash TableDesignAmazonGoogleBloomberg
#71Simplify Path
MediumSolve
StringStackMetaAmazonGoogle
#853Car Fleet
MediumSolve
ArrayStackSortingMonotonic StackGoogleAmazonBloomberg
#402Remove K Digits
MediumSolve
StringStackGreedyMonotonic StackAmazonGoogleMicrosoft
#946Validate Stack Sequences
MediumSolve
ArrayStackAmazonGoogleMicrosoft
#622Design Circular Queue
MediumSolve
ArrayQueueDesignAmazonGoogleMicrosoft
#641Design Circular Deque
MediumSolve
ArrayQueueDesignAmazonGoogleMicrosoft
#621Task Scheduler
MediumSolve
ArrayHash TableGreedySortingHeapMetaAmazonGoogle
#767Reorganize String
MediumSolve
StringHash TableGreedySortingHeapAmazonGoogleMeta
🌳

Trees

36

Binary trees, BSTs, and tree traversals

#104Maximum Depth of Binary Tree
EasySolve
Binary TreeDFSBFSAmazonGoogleMicrosoft
#100Same Tree
EasySolve
Binary TreeDFSBFSAmazonGoogleBloomberg
#226Invert Binary Tree
EasySolve
Binary TreeDFSBFSGoogleAmazonMeta
#101Symmetric Tree
EasySolve
Binary TreeDFSBFSAmazonMicrosoftBloomberg
#102Binary Tree Level Order Traversal
MediumSolve
Binary TreeBFSAmazonMicrosoftMeta
#103Binary Tree Zigzag Level Order Traversal
MediumSolve
Binary TreeBFSAmazonMicrosoftBloomberg
#199Binary Tree Right Side View
MediumSolve
Binary TreeDFSBFSMetaAmazonBloomberg
#222Count Complete Tree Nodes
EasySolve
Binary TreeBinary SearchDFSGoogleAmazonMicrosoft
#110Balanced Binary Tree
EasySolve
Binary TreeDFSAmazonGoogleBloomberg
#112Path Sum
EasySolve
Binary TreeDFSBFSAmazonMicrosoftBloomberg
#113Path Sum II
MediumSolve
Binary TreeDFSBacktrackingAmazonMicrosoftBloomberg
#124Binary Tree Maximum Path Sum
HardSolve
Binary TreeDFSDynamic ProgrammingGoogleAmazonMeta
#236Lowest Common Ancestor of a Binary Tree
MediumSolve
Binary TreeDFSAmazonGoogleMeta
#235Lowest Common Ancestor of a Binary Search Tree
MediumSolve
Binary TreeBSTDFSAmazonMetaMicrosoft
#98Validate Binary Search Tree
MediumSolve
Binary TreeBSTDFSAmazonGoogleMeta
#230Kth Smallest Element in a BST
MediumSolve
Binary TreeBSTDFSAmazonGoogleBloomberg
#94Binary Tree Inorder Traversal
EasySolve
Binary TreeStackDFSAmazonMicrosoftGoogle
#144Binary Tree Preorder Traversal
EasySolve
Binary TreeStackDFSAmazonMicrosoftGoogle
#145Binary Tree Postorder Traversal
EasySolve
Binary TreeStackDFSAmazonMicrosoftGoogle
#105Construct Binary Tree from Preorder and Inorder Traversal
MediumSolve
Binary TreeArrayDFSDivide and ConquerAmazonMicrosoftGoogle
#297Serialize and Deserialize Binary Tree
HardSolve
Binary TreeDFSBFSDesignAmazonGoogleMeta
#114Flatten Binary Tree to Linked List
MediumSolve
Binary TreeDFSLinked ListStackAmazonMicrosoftBloomberg
#543Diameter of Binary Tree
EasySolve
Binary TreeDFSMetaAmazonGoogle
#572Subtree of Another Tree
EasySolve
Binary TreeDFSAmazonGoogleMeta
#129Sum Root to Leaf Numbers
MediumSolve
Binary TreeDFSAmazonMicrosoftBloomberg
#116Populating Next Right Pointers in Each Node
MediumSolve
Binary TreeBFSDFSAmazonMicrosoftBloomberg
#337House Robber III
MediumSolve
Binary TreeDFSDynamic ProgrammingAmazonGoogleUber
#96Unique Binary Search Trees
MediumSolve
Binary TreeBSTDynamic ProgrammingMathAmazonGoogleMicrosoft
#95Unique Binary Search Trees II
MediumSolve
Binary TreeBSTDynamic ProgrammingBacktrackingAmazonGoogleBloomberg
#99Recover Binary Search Tree
MediumSolve
Binary TreeBSTDFSAmazonMicrosoftBloomberg
#968Binary Tree Cameras
HardSolve
Binary TreeDFSDynamic ProgrammingGreedyAmazonGoogleMicrosoft
#814Binary Tree Pruning
MediumSolve
Binary TreeDFSAmazonBloombergGoogle
#662Maximum Width of Binary Tree
MediumSolve
Binary TreeBFSDFSAmazonGoogleBloomberg
#987Vertical Order Traversal of a Binary Tree
HardSolve
Binary TreeBFSDFSHash TableSortingMetaAmazonGoogle
#429N-ary Tree Level Order Traversal
MediumSolve
Binary TreeBFSAmazonMicrosoftGoogle
#538Convert BST to Greater Tree
MediumSolve
Binary TreeBSTDFSAmazonGoogleBloomberg
🕸️

Graphs

34

Graph traversal, shortest paths, and connectivity

#200Number of Islands
MediumSolve
ArrayDFSBFSUnion FindMatrixAmazonGoogleMeta
#133Clone Graph
MediumSolve
GraphDFSBFSHash TableAmazonGoogleMeta
#207Course Schedule
MediumSolve
GraphDFSBFSAmazonGoogleMicrosoft
#210Course Schedule II
MediumSolve
GraphDFSBFSAmazonGoogleMicrosoft
#417Pacific Atlantic Water Flow
MediumSolve
ArrayDFSBFSMatrixGoogleAmazonBloomberg
#128Longest Consecutive Sequence
MediumSolve
ArrayHash TableUnion FindGoogleAmazonMeta
#127Word Ladder
HardSolve
StringBFSHash TableAmazonGoogleMeta
#126Word Ladder II
HardSolve
StringBFSHash TableBacktrackingAmazonGoogleMeta
#130Surrounded Regions
MediumSolve
ArrayDFSBFSUnion FindMatrixAmazonGoogleBloomberg
#743Network Delay Time
MediumSolve
GraphDFSBFSHeapAmazonGoogleMicrosoft
#787Cheapest Flights Within K Stops
MediumSolve
GraphDynamic ProgrammingBFSHeapAmazonGoogleBloomberg
#684Redundant Connection
MediumSolve
GraphUnion FindDFSBFSAmazonGoogleMicrosoft
#1192Critical Connections in a Network
HardSolve
GraphDFSAmazonGoogleMicrosoft
#721Accounts Merge
MediumSolve
ArrayStringDFSBFSUnion FindMetaAmazonGoogle
#399Evaluate Division
MediumSolve
ArrayDFSBFSUnion FindGraphGoogleAmazonBloomberg
#994Rotting Oranges
MediumSolve
ArrayBFSMatrixAmazonGoogleMicrosoft
#1091Shortest Path in Binary Matrix
MediumSolve
ArrayBFSMatrixAmazonMetaGoogle
#785Is Graph Bipartite?
MediumSolve
GraphDFSBFSUnion FindAmazonGoogleMeta
#269Alien DictionaryPremium
HardSolve
ArrayStringGraphDFSBFSAmazonGoogleMeta
#332Reconstruct Itinerary
HardSolve
GraphDFSSortingGoogleAmazonBloomberg
#797All Paths From Source to Target
MediumSolve
GraphDFSBFSBacktrackingAmazonGoogleBloomberg
#841Keys and Rooms
MediumSolve
GraphDFSBFSAmazonGoogleBloomberg
#1971Find if Path Exists in Graph
EasySolve
GraphDFSBFSUnion FindAmazonGoogleMicrosoft
#310Minimum Height Trees
MediumSolve
GraphDFSBFSAmazonGoogleMicrosoft
#909Snakes and Ladders
MediumSolve
ArrayBFSMatrixAmazonGoogleGoldman Sachs
#752Open the Lock
MediumSolve
ArrayBFSHash TableStringAmazonGoogleByteDance
#778Swim in Rising Water
HardSolve
ArrayGraphBFSDFSHeapUnion FindMatrixGoogleAmazonBloomberg
#827Making A Large Island
HardSolve
ArrayDFSBFSUnion FindMatrixAmazonGoogleMeta
#547Number of Provinces
MediumSolve
GraphDFSBFSUnion FindAmazonGoogleBloomberg
#997Find the Town Judge
EasySolve
ArrayGraphHash TableAmazonGoogleBloomberg
#934Shortest Bridge
MediumSolve
ArrayDFSBFSMatrixAmazonGoogleMicrosoft
#261Graph Valid TreePremium
MediumSolve
GraphDFSBFSUnion FindAmazonGoogleMeta
#323Number of Connected Components in an Undirected GraphPremium
MediumSolve
GraphDFSBFSUnion FindAmazonGoogleMeta
#212Word Search II
HardSolve
ArrayStringBacktrackingTrieMatrixAmazonGoogleMicrosoft
⛰️

Heaps

15

Priority queues and heap-based algorithms

#215Kth Largest Element in an Array
MediumSolve
ArrayHeapSortingDivide and ConquerAmazonGoogleMeta
#347Top K Frequent Elements
MediumSolve
ArrayHash TableHeapSortingAmazonGoogleMeta
#295Find Median from Data Stream
HardSolve
HeapDesignSortingAmazonGoogleMicrosoft
#23Merge k Sorted Lists
HardSolve
Linked ListHeapDivide and ConquerAmazonGoogleMeta
#451Sort Characters By Frequency
MediumSolve
StringHash TableHeapSortingAmazonGoogleBloomberg
#378Kth Smallest Element in a Sorted Matrix
MediumSolve
ArrayHeapBinary SearchMatrixSortingAmazonGoogleMeta
#253Meeting Rooms IIPremium
MediumSolve
ArrayHeapSortingIntervalAmazonGoogleMeta
#621Task Scheduler
MediumSolve
ArrayHash TableGreedySortingHeapMetaAmazonGoogle
#767Reorganize String
MediumSolve
StringHash TableGreedySortingHeapAmazonGoogleMeta
#973K Closest Points to Origin
MediumSolve
ArrayHeapMathSortingDivide and ConquerAmazonMetaGoogle
#1046Last Stone Weight
EasySolve
ArrayHeapAmazonGoogleBloomberg
#703Kth Largest Element in a Stream
EasySolve
HeapDesignBinary SearchAmazonGoogleMeta
#264Ugly Number II
MediumSolve
Hash TableMathHeapDynamic ProgrammingAmazonGoogleBloomberg
#313Super Ugly Number
MediumSolve
ArrayMathHeapDynamic ProgrammingAmazonGoogleBloomberg
#502IPO
HardSolve
ArrayGreedySortingHeapAmazonGoogleGoldman Sachs
🔡

Tries

10

Prefix trees and string search structures

#208Implement Trie Prefix Tree
MediumSolve
TrieStringHash TableDesignAmazonGoogleMicrosoft
#211Design Add and Search Words Data Structure
MediumSolve
TrieStringDFSDesignAmazonGoogleMeta
#212Word Search II
HardSolve
ArrayStringBacktrackingTrieMatrixAmazonGoogleMicrosoft
#648Replace Words
MediumSolve
ArrayStringTrieHash TableAmazonUberGoogle
#720Longest Word in Dictionary
MediumSolve
ArrayStringTrieHash TableSortingAmazonGoogleBloomberg
#677Map Sum Pairs
MediumSolve
TrieStringHash TableDesignAmazonGoogleBloomberg
#421Maximum XOR of Two Numbers in an Array
MediumSolve
ArrayTrieHash TableBit ManipulationAmazonGoogleMicrosoft
#336Palindrome Pairs
HardSolve
ArrayStringTrieHash TableAmazonGoogleAirbnb
#642Design Search Autocomplete SystemPremium
HardSolve
StringTrieDesignSortingHeapHash TableAmazonGoogleMicrosoft
#1032Stream of Characters
HardSolve
ArrayStringTrieDesignGoogleAmazonBloomberg
📈

Dynamic Programming

54

Optimal substructure and overlapping subproblems

#70Climbing Stairs
EasySolve
MathDynamic ProgrammingAmazonGoogleMicrosoft
#198House Robber
MediumSolve
ArrayDynamic ProgrammingAmazonGoogleMicrosoft
#213House Robber II
MediumSolve
ArrayDynamic ProgrammingAmazonGoogleBloomberg
#337House Robber III
MediumSolve
Binary TreeDFSDynamic ProgrammingAmazonGoogleUber
#322Coin Change
MediumSolve
ArrayDynamic ProgrammingBFSAmazonGoogleMicrosoft
#518Coin Change II
MediumSolve
ArrayDynamic ProgrammingAmazonGoogleBloomberg
#300Longest Increasing Subsequence
MediumSolve
ArrayBinary SearchDynamic ProgrammingAmazonGoogleMicrosoft
#1143Longest Common Subsequence
MediumSolve
StringDynamic ProgrammingAmazonGoogleMicrosoft
#72Edit Distance
MediumSolve
StringDynamic ProgrammingAmazonGoogleMicrosoft
#139Word Break
MediumSolve
ArrayStringHash TableDynamic ProgrammingAmazonGoogleMeta
#140Word Break II
HardSolve
ArrayStringHash TableDynamic ProgrammingBacktrackingAmazonGoogleMeta
#55Jump Game
MediumSolve
ArrayDynamic ProgrammingGreedyAmazonGoogleMicrosoft
#45Jump Game II
MediumSolve
ArrayDynamic ProgrammingGreedyAmazonGoogleBloomberg
#91Decode Ways
MediumSolve
StringDynamic ProgrammingAmazonGoogleMeta
#62Unique Paths
MediumSolve
MathDynamic ProgrammingAmazonGoogleMicrosoft
#63Unique Paths II
MediumSolve
ArrayDynamic ProgrammingMatrixAmazonGoogleBloomberg
#64Minimum Path Sum
MediumSolve
ArrayDynamic ProgrammingMatrixAmazonGoogleGoldman Sachs
#120Triangle
MediumSolve
ArrayDynamic ProgrammingAmazonGoogleMicrosoft
#221Maximal Square
MediumSolve
ArrayDynamic ProgrammingMatrixAmazonGoogleApple
#131Palindrome Partitioning
MediumSolve
StringDynamic ProgrammingBacktrackingAmazonGoogleBloomberg
#132Palindrome Partitioning II
HardSolve
StringDynamic ProgrammingAmazonGoogleBloomberg
#97Interleaving String
MediumSolve
StringDynamic ProgrammingAmazonGoogleMicrosoft
#10Regular Expression Matching
HardSolve
StringDynamic ProgrammingRecursionGoogleAmazonMeta
#44Wildcard Matching
HardSolve
StringDynamic ProgrammingGreedyGoogleAmazonBloomberg
#309Best Time to Buy and Sell Stock with Cooldown
MediumSolve
ArrayDynamic ProgrammingAmazonGoogleGoldman Sachs
#714Best Time to Buy and Sell Stock with Transaction Fee
MediumSolve
ArrayDynamic ProgrammingGreedyAmazonGoogleBloomberg
#494Target Sum
MediumSolve
ArrayDynamic ProgrammingBacktrackingAmazonGoogleMeta
#416Partition Equal Subset Sum
MediumSolve
ArrayDynamic ProgrammingAmazonGoogleMeta
#516Longest Palindromic Subsequence
MediumSolve
StringDynamic ProgrammingAmazonGoogleLinkedIn
#115Distinct Subsequences
HardSolve
StringDynamic ProgrammingAmazonGoogleBloomberg
#312Burst Balloons
HardSolve
ArrayDynamic ProgrammingAmazonGoogleMicrosoft
#1130Minimum Cost Tree From Leaf Values
MediumSolve
ArrayDynamic ProgrammingStackGreedyMonotonic StackAmazonGoogleBloomberg
#877Stone Game
MediumSolve
ArrayMathDynamic ProgrammingAmazonGoogleBloomberg
#279Perfect Squares
MediumSolve
MathDynamic ProgrammingBFSAmazonGoogleBloomberg
#264Ugly Number II
MediumSolve
Hash TableMathHeapDynamic ProgrammingAmazonGoogleBloomberg
#152Maximum Product Subarray
MediumSolve
ArrayDynamic ProgrammingAmazonGoogleMicrosoft
#174Dungeon Game
HardSolve
ArrayDynamic ProgrammingMatrixAmazonGoogleMicrosoft
#741Cherry Pickup
HardSolve
ArrayDynamic ProgrammingMatrixGoogleAmazonBloomberg
#413Arithmetic Slices
MediumSolve
ArrayDynamic ProgrammingAmazonGoogleBloomberg
#377Combination Sum IV
MediumSolve
ArrayDynamic ProgrammingAmazonGoogleBloomberg
#474Ones and Zeroes
MediumSolve
ArrayStringDynamic ProgrammingAmazonGoogleBloomberg
#879Profitable Schemes
HardSolve
ArrayDynamic ProgrammingGoogleAmazonBloomberg
#983Minimum Cost For Tickets
MediumSolve
ArrayDynamic ProgrammingAmazonGoogleBloomberg
#1048Longest String Chain
MediumSolve
ArrayStringHash TableDynamic ProgrammingAmazonGoogleMeta
#403Frog Jump
HardSolve
ArrayDynamic ProgrammingAmazonGoogleMicrosoft
#1335Minimum Difficulty of a Job Schedule
HardSolve
ArrayDynamic ProgrammingAmazonGoogleBloomberg
#740Delete and Earn
MediumSolve
ArrayHash TableDynamic ProgrammingAmazonGoogleBloomberg
#639Decode Ways II
HardSolve
StringDynamic ProgrammingAmazonGoogleMeta
#673Number of Longest Increasing Subsequence
MediumSolve
ArrayDynamic ProgrammingBinary SearchAmazonGoogleBloomberg
#354Russian Doll Envelopes
HardSolve
ArrayBinary SearchDynamic ProgrammingSortingAmazonGoogleMicrosoft
#368Largest Divisible Subset
MediumSolve
ArrayMathDynamic ProgrammingSortingAmazonGoogleBloomberg
#730Count Different Palindromic Subsequences
HardSolve
StringDynamic ProgrammingAmazonGoogleLinkedIn
#712Minimum ASCII Delete Sum for Two Strings
MediumSolve
StringDynamic ProgrammingAmazonGoogleBloomberg
#486Predict the Winner
MediumSolve
ArrayMathDynamic ProgrammingRecursionAmazonGoogleBloomberg
🔙

Backtracking

20

Exhaustive search with pruning

#78Subsets
MediumSolve
ArrayBacktrackingBit ManipulationAmazonGoogleMeta
#90Subsets II
MediumSolve
ArrayBacktrackingBit ManipulationAmazonGoogleBloomberg
#46Permutations
MediumSolve
ArrayBacktrackingAmazonGoogleMeta
#47Permutations II
MediumSolve
ArrayBacktrackingAmazonGoogleBloomberg
#39Combination Sum
MediumSolve
ArrayBacktrackingAmazonGoogleMeta
#40Combination Sum II
MediumSolve
ArrayBacktrackingAmazonGoogleBloomberg
#216Combination Sum III
MediumSolve
ArrayBacktrackingAmazonMicrosoftGoogle
#77Combinations
MediumSolve
ArrayBacktrackingAmazonGoogleMicrosoft
#17Letter Combinations of a Phone Number
MediumSolve
StringBacktrackingHash TableAmazonGoogleMeta
#22Generate Parentheses
MediumSolve
StringBacktrackingDynamic ProgrammingAmazonGoogleMicrosoft
#131Palindrome Partitioning
MediumSolve
StringDynamic ProgrammingBacktrackingAmazonGoogleBloomberg
#51N-Queens
HardSolve
ArrayBacktrackingAmazonGoogleMicrosoft
#52N-Queens II
HardSolve
ArrayBacktrackingAmazonGoogleMicrosoft
#37Sudoku Solver
HardSolve
ArrayBacktrackingMatrixAmazonGoogleMicrosoft
#79Word Search
MediumSolve
ArrayBacktrackingMatrixAmazonGoogleMicrosoft
#93Restore IP Addresses
MediumSolve
StringBacktrackingAmazonGoogleBloomberg
#698Partition to K Equal Sum Subsets
MediumSolve
ArrayBacktrackingDynamic ProgrammingBit ManipulationAmazonGoogleLinkedIn
#282Expression Add Operators
HardSolve
StringMathBacktrackingGoogleMetaAmazon
#526Beautiful Arrangement
MediumSolve
ArrayBacktrackingDynamic ProgrammingBit ManipulationAmazonGoogleBloomberg
#1849Splitting a String Into Descending Consecutive Values
MediumSolve
StringBacktrackingAmazonGoogleBloomberg
🎯

Greedy

20

Locally optimal choices for global solutions

#55Jump Game
MediumSolve
ArrayDynamic ProgrammingGreedyAmazonGoogleMicrosoft
#45Jump Game II
MediumSolve
ArrayDynamic ProgrammingGreedyAmazonGoogleBloomberg
#134Gas Station
MediumSolve
ArrayGreedyAmazonGoogleBloomberg
#135Candy
HardSolve
ArrayGreedyGoogleAmazonBloomberg
#621Task Scheduler
MediumSolve
ArrayHash TableGreedySortingHeapMetaAmazonGoogle
#406Queue Reconstruction by Height
MediumSolve
ArrayGreedySortingAmazonGoogleMicrosoft
#435Non-overlapping Intervals
MediumSolve
ArrayGreedySortingDynamic ProgrammingIntervalAmazonGoogleMeta
#452Minimum Number of Arrows to Burst Balloons
MediumSolve
ArrayGreedySortingIntervalAmazonGoogleMeta
#455Assign Cookies
EasySolve
ArrayGreedySortingTwo PointersAmazonBloombergGoogle
#763Partition Labels
MediumSolve
ArrayStringHash TableGreedyTwo PointersAmazonGoogleBloomberg
#860Lemonade Change
EasySolve
ArrayGreedyAmazonGoogleBloomberg
#252Meeting RoomsPremium
EasySolve
ArraySortingIntervalAmazonGoogleMeta
#881Boats to Save People
MediumSolve
ArrayGreedyTwo PointersSortingAmazonGoogleMicrosoft
#948Bag of Tokens
MediumSolve
ArrayGreedyTwo PointersSortingAmazonGoogleBloomberg
#1029Two City Scheduling
MediumSolve
ArrayGreedySortingAmazonBloombergGoldman Sachs
#991Broken Calculator
MediumSolve
MathGreedyAmazonGoogleBloomberg
#1007Minimum Domino Rotations For Equal Row
MediumSolve
ArrayGreedyGoogleAmazonBloomberg
#659Split Array into Consecutive Subsequences
MediumSolve
ArrayHash TableGreedyHeapGoogleAmazonBloomberg
#870Advantage Shuffle
MediumSolve
ArrayGreedySortingTwo PointersAmazonGoogleBloomberg
#986Interval List Intersections
MediumSolve
ArrayTwo PointersIntervalMetaAmazonGoogle
🔍

Binary Search

20

Divide and conquer search on sorted data

#704Binary Search
EasySolve
ArrayBinary SearchAmazonGoogleMicrosoft
#33Search in Rotated Sorted Array
MediumSolve
ArrayBinary SearchAmazonGoogleMeta
#81Search in Rotated Sorted Array II
MediumSolve
ArrayBinary SearchAmazonGoogleBloomberg
#153Find Minimum in Rotated Sorted Array
MediumSolve
ArrayBinary SearchAmazonGoogleMicrosoft
#154Find Minimum in Rotated Sorted Array II
HardSolve
ArrayBinary SearchAmazonGoogleBloomberg
#74Search a 2D Matrix
MediumSolve
ArrayBinary SearchMatrixAmazonGoogleMicrosoft
#240Search a 2D Matrix II
MediumSolve
ArrayBinary SearchMatrixDivide and ConquerAmazonGoogleMicrosoft
#162Find Peak Element
MediumSolve
ArrayBinary SearchGoogleMetaAmazon
#34Find First and Last Position of Element in Sorted Array
MediumSolve
ArrayBinary SearchAmazonGoogleMeta
#69Sqrt(x)
EasySolve
MathBinary SearchAmazonGoogleBloomberg
#875Koko Eating Bananas
MediumSolve
ArrayBinary SearchAmazonGoogleBloomberg
#1011Capacity To Ship Packages Within D Days
MediumSolve
ArrayBinary SearchAmazonGoogleMicrosoft
#410Split Array Largest Sum
HardSolve
ArrayBinary SearchDynamic ProgrammingGreedyAmazonGoogleBloomberg
#4Median of Two Sorted Arrays
HardSolve
ArrayBinary SearchDivide and ConquerAmazonGoogleMicrosoft
#1552Magnetic Force Between Two Balls
MediumSolve
ArrayBinary SearchSortingAmazonGoogleBloomberg
#1870Minimum Speed to Arrive on Time
MediumSolve
ArrayBinary SearchAmazonGoogleBloomberg
#327Count of Range Sum
HardSolve
ArrayBinary SearchDivide and ConquerSortingGoogleAmazonBloomberg
#1044Longest Duplicate Substring
HardSolve
StringBinary SearchHash TableSliding WindowAmazonGoogleBloomberg
#528Random Pick with Weight
MediumSolve
ArrayMathBinary SearchMetaGoogleAmazon
#981Time Based Key-Value Store
MediumSolve
StringBinary SearchHash TableDesignAmazonGoogleMeta
👆

Two Pointers

20

Two pointer and sliding window techniques

#167Two Sum II - Input Array Is Sorted
MediumSolve
ArrayTwo PointersBinary SearchAmazonGoogleBloomberg
#153Sum
MediumSolve
ArrayTwo PointersSortingGoogleAmazonMeta
#163Sum Closest
MediumSolve
ArrayTwo PointersSortingAmazonGoogleBloomberg
#184Sum
MediumSolve
ArrayTwo PointersSortingAmazonMicrosoftGoldman Sachs
#11Container With Most Water
MediumSolve
ArrayTwo PointersGreedyGoogleAmazonMeta
#42Trapping Rain Water
HardSolve
ArrayTwo PointersStackMonotonic StackGoogleAmazonGoldman Sachs
#26Remove Duplicates from Sorted Array
EasySolve
ArrayTwo PointersAmazonMicrosoftBloomberg
#80Remove Duplicates from Sorted Array II
MediumSolve
ArrayTwo PointersAmazonMicrosoftBloomberg
#283Move Zeroes
EasySolve
ArrayTwo PointersMetaBloombergApple
#75Sort Colors
MediumSolve
ArrayTwo PointersSortingAmazonMicrosoftAdobe
#977Squares of a Sorted Array
EasySolve
ArrayTwo PointersSortingAmazonGoogleMeta
#881Boats to Save People
MediumSolve
ArrayTwo PointersGreedySortingAmazonGoogleMicrosoft
#986Interval List Intersections
MediumSolve
ArrayTwo PointersIntervalMetaAmazonGoogle
#844Backspace String Compare
EasySolve
StringTwo PointersStackGoogleAmazonBloomberg
#925Long Pressed Name
EasySolve
StringTwo PointersGoogleAmazonBloomberg
#845Longest Mountain in Array
MediumSolve
ArrayTwo PointersDynamic ProgrammingAmazonGoogleBloomberg
#125Valid Palindrome
EasySolve
StringTwo PointersMetaAmazonMicrosoft
#680Valid Palindrome II
EasySolve
StringTwo PointersGreedyMetaAmazonMicrosoft
#344Reverse String
EasySolve
StringTwo PointersAmazonMicrosoftApple
#88Merge Sorted Array
EasySolve
ArrayTwo PointersSortingMetaMicrosoftAmazon
💡

Bit Manipulation

15

Bitwise operations and binary representations

#136Single Number
EasySolve
ArrayBit ManipulationAmazonGoogleBloomberg
#137Single Number II
MediumSolve
ArrayBit ManipulationAmazonGoogleBloomberg
#260Single Number III
MediumSolve
ArrayBit ManipulationAmazonGoogleBloomberg
#191Number of 1 Bits
EasySolve
Bit ManipulationDivide and ConquerAmazonMicrosoftApple
#338Counting Bits
EasySolve
Bit ManipulationDynamic ProgrammingAmazonGoogleMicrosoft
#190Reverse Bits
EasySolve
Bit ManipulationDivide and ConquerAmazonAppleGoogle
#268Missing Number
EasySolve
ArrayBit ManipulationMathHash TableSortingAmazonMicrosoftBloomberg
#371Sum of Two Integers
MediumSolve
Bit ManipulationMathAmazonGoogleMeta
#231Power of Two
EasySolve
Bit ManipulationMathAmazonGoogleApple
#201Bitwise AND of Numbers Range
MediumSolve
Bit ManipulationAmazonMicrosoftBloomberg
#393UTF-8 Validation
MediumSolve
ArrayBit ManipulationGoogleMetaAmazon
#477Total Hamming Distance
MediumSolve
ArrayBit ManipulationMathAmazonMetaGoogle
#421Maximum XOR of Two Numbers in an Array
MediumSolve
ArrayTrieHash TableBit ManipulationAmazonGoogleMicrosoft
#89Gray Code
MediumSolve
Bit ManipulationMathBacktrackingAmazonMicrosoftBloomberg
#29Divide Two Integers
MediumSolve
Bit ManipulationMathAmazonMetaBloomberg
🔢

Math

15

Mathematical algorithms and number theory

#7Reverse Integer
MediumSolve
MathAmazonBloombergApple
#9Palindrome Number
EasySolve
MathAmazonBloombergAdobe
#50Pow(x, n)
MediumSolve
MathRecursionAmazonGoogleMeta
#69Sqrt(x)
EasySolve
MathBinary SearchAmazonGoogleBloomberg
#202Happy Number
EasySolve
Hash TableMathTwo PointersAmazonGoogleBloomberg
#66Plus One
EasySolve
ArrayMathAmazonGoogleBloomberg
#172Factorial Trailing Zeroes
MediumSolve
MathAmazonBloombergMicrosoft
#168Excel Sheet Column Title
EasySolve
MathStringAmazonMicrosoftBloomberg
#171Excel Sheet Column Number
EasySolve
MathStringAmazonMicrosoftBloomberg
#204Count Primes
MediumSolve
ArrayMathAmazonMicrosoftBloomberg
#13Roman to Integer
EasySolve
StringMathAmazonMicrosoftBloomberg
#12Integer to Roman
MediumSolve
StringMathAmazonMicrosoftBloomberg
#1071Greatest Common Divisor of Strings
EasySolve
StringMathAmazonGoogleBloomberg
#412Fizz Buzz
EasySolve
MathStringAmazonMicrosoftBloomberg
#67Add Binary
EasySolve
MathStringBit ManipulationAmazonMetaGoogle
🏗️

Design

15

Data structure and system design problems

#146LRU Cache
MediumSolve
Linked ListHash TableDesignAmazonGoogleMeta
#460LFU Cache
HardSolve
Hash TableLinked ListDesignAmazonGoogleBloomberg
#155Min Stack
MediumSolve
StackDesignAmazonGoogleBloomberg
#232Implement Queue using Stacks
EasySolve
StackQueueDesignAmazonMicrosoftGoldman Sachs
#706Design HashMap
EasySolve
ArrayHash TableDesignAmazonGoogleMicrosoft
#705Design HashSet
EasySolve
ArrayHash TableDesignAmazonGoogleMicrosoft
#380Insert Delete GetRandom O(1)
MediumSolve
ArrayHash TableDesignMetaAmazonGoogle
#297Serialize and Deserialize Binary Tree
HardSolve
Binary TreeDFSBFSDesignAmazonGoogleMeta
#355Design Twitter
MediumSolve
Hash TableHeapDesignLinked ListAmazonGoogleBloomberg
#622Design Circular Queue
MediumSolve
ArrayQueueDesignAmazonGoogleMicrosoft
#208Implement Trie Prefix Tree
MediumSolve
TrieStringHash TableDesignAmazonGoogleMicrosoft
#211Design Add and Search Words Data Structure
MediumSolve
TrieStringDFSDesignAmazonGoogleMeta
#901Online Stock Span
MediumSolve
StackDesignMonotonic StackAmazonBloombergMicrosoft
#1472Design Browser History
MediumSolve
ArrayStackDesignLinked ListAmazonBloombergGoogle
#1396Design Underground System
MediumSolve
Hash TableStringDesignAmazonBloombergGoogle
📋

Sorting

15

Sorting algorithms and order-based problems

#75Sort Colors
MediumSolve
ArrayTwo PointersSortingAmazonMicrosoftAdobe
#148Sort List
MediumSolve
Linked ListSortingDivide and ConquerAmazonMicrosoftAdobe
#179Largest Number
MediumSolve
ArrayStringGreedySortingAmazonGoogleBloomberg
#56Merge Intervals
MediumSolve
ArraySortingIntervalAmazonGoogleMeta
#57Insert Interval
MediumSolve
ArraySortingIntervalAmazonGoogleMeta
#252Meeting RoomsPremium
EasySolve
ArraySortingIntervalAmazonGoogleMeta
#253Meeting Rooms IIPremium
MediumSolve
ArraySortingHeapIntervalAmazonGoogleMeta
#274H-Index
MediumSolve
ArraySortingGoogleMetaBloomberg
#324Wiggle Sort II
MediumSolve
ArraySortingDivide and ConquerGoogleAmazonMicrosoft
#164Maximum Gap
MediumSolve
ArraySortingAmazonMicrosoftBloomberg
#215Kth Largest Element in an Array
MediumSolve
ArrayHeapSortingDivide and ConquerAmazonGoogleMeta
#451Sort Characters By Frequency
MediumSolve
StringHash TableHeapSortingAmazonGoogleBloomberg
#1122Relative Sort Array
EasySolve
ArrayHash TableSortingAmazonGoogleBloomberg
#791Custom Sort String
MediumSolve
StringHash TableSortingMetaAmazonGoogle
#347Top K Frequent Elements
MediumSolve
ArrayHash TableHeapSortingAmazonGoogleMeta