Snap Interview Questions — 100 DSA Problems
83 problems with full solutions in Python, Java, C++, JavaScript, Go, Rust.
Most frequently asked Snap LeetCode questions for software engineering interviews.
- LRU Cache (MEDIUM) — Hash Table, Linked List, Design, Doubly-Linked List
- Minimum Window Substring (HARD) — Hash Table, String, Sliding Window
- Meeting Rooms II (MEDIUM) — Array, Two Pointers, Greedy, Sorting, Heap (Priority Queue), Prefix Sum
- Word Ladder (HARD) — Hash Table, String, Breadth-First Search
- Course Schedule II (MEDIUM) — Depth-First Search, Breadth-First Search, Graph, Topological Sort
- Making A Large Island (HARD) — Array, Depth-First Search, Breadth-First Search, Union Find, Matrix
- Word Break II (HARD) — Array, Hash Table, String, Dynamic Programming, Backtracking, Trie, Memoization
- Design Log Storage System (MEDIUM) — Hash Table, String, Design, Ordered Set
- Number of Islands (MEDIUM) — Array, Depth-First Search, Breadth-First Search, Union Find, Matrix
- Valid Sudoku (MEDIUM) — Array, Hash Table, Matrix
- Number of Distinct Islands (MEDIUM) — Hash Table, Depth-First Search, Breadth-First Search, Union Find, Hash Function
- One Edit Distance (MEDIUM) — Two Pointers, String
- Min Stack (MEDIUM) — Stack, Design
- Bus Routes (HARD) — Array, Hash Table, Breadth-First Search
- Alien Dictionary (HARD) — Array, String, Depth-First Search, Breadth-First Search, Graph, Topological Sort
- Burst Balloons (HARD) — Array, Dynamic Programming
- Closest Binary Search Tree Value (EASY) — Binary Search, Tree, Depth-First Search, Binary Search Tree, Binary Tree
- Game of Life (MEDIUM) — Array, Matrix, Simulation
- Bricks Falling When Hit (HARD) — Array, Union Find, Matrix
- Power of Two (EASY) — Math, Bit Manipulation, Recursion
- Least Operators to Express Number (HARD) — Math, Dynamic Programming, Memoization
- Combination Sum IV (MEDIUM) — Array, Dynamic Programming
- Largest Merge Of Two Strings (MEDIUM) — Two Pointers, String, Greedy
- Frog Jump (HARD) — Array, Dynamic Programming
- Ternary Expression Parser (MEDIUM) — String, Stack, Recursion
- String Compression (MEDIUM) — Two Pointers, String
- Word Abbreviation (HARD) — Array, String, Greedy, Trie, Sorting
- Binary Tree Vertical Order Traversal (MEDIUM) — Hash Table, Tree, Depth-First Search, Breadth-First Search, Sorting, Binary Tree
- Remove K Digits (MEDIUM) — String, Stack, Greedy, Monotonic Stack
- Combination Sum II (MEDIUM) — Array, Backtracking
- Reverse Linked List (EASY) — Linked List, Recursion
- Wildcard Matching (HARD) — String, Dynamic Programming, Greedy, Recursion
- Reverse Words in a String (MEDIUM) — Two Pointers, String
- Sudoku Solver (HARD) — Array, Hash Table, Backtracking, Matrix
- Combination Sum (MEDIUM) — Array, Backtracking
- Unique Binary Search Trees (MEDIUM) — Math, Dynamic Programming, Tree, Binary Search Tree, Binary Tree
- Basic Calculator II (MEDIUM) — Math, String, Stack
- Word Search (MEDIUM) — Array, String, Backtracking, Depth-First Search, Matrix
- Cheapest Flights Within K Stops (MEDIUM) — Dynamic Programming, Depth-First Search, Breadth-First Search, Graph, Heap (Priority Queue), Shortest Path
- Shortest Path in a Grid with Obstacles Elimination (HARD) — Array, Breadth-First Search, Matrix
- Decode Ways (MEDIUM) — String, Dynamic Programming
- Valid Arrangement of Pairs (HARD) — Depth-First Search, Graph, Eulerian Circuit
- Best Time to Buy and Sell Stock III (HARD) — Array, Dynamic Programming
- Insert Delete GetRandom O(1) (MEDIUM) — Array, Hash Table, Math, Design, Randomized
- Evaluate Division (MEDIUM) — Array, String, Depth-First Search, Breadth-First Search, Union Find, Graph, Shortest Path
- Merge Intervals (MEDIUM) — Array, Sorting
- Score of Parentheses (MEDIUM) — String, Stack
- Amount of Time for Binary Tree to Be Infected (MEDIUM) — Hash Table, Tree, Depth-First Search, Breadth-First Search, Binary Tree
- Design a Text Editor (HARD) — Linked List, String, Stack, Design, Simulation, Doubly-Linked List
- Parallel Courses III (HARD) — Array, Dynamic Programming, Graph, Topological Sort
S
Snap
100 questions tracked83 with solutions
Frequency scoreSorted highest → lowest frequency✓ Our Solution = we have a detailed walkthrough
Showing 100 of 100 questions
1Hash TableLinked ListDesignDoubly-Linked List
2Hash TableStringSliding Window
3MediumMeeting Rooms II
ArrayTwo PointersGreedySorting+2
4Hash TableStringBreadth-First Search
5Depth-First SearchBreadth-First SearchGraphTopological Sort
6ArrayDepth-First SearchBreadth-First SearchUnion Find+1
7ArrayHash TableStringDynamic Programming+3
8MediumDesign Log Storage System
Hash TableStringDesignOrdered Set
9ArrayDepth-First SearchBreadth-First SearchUnion Find+1
11MediumNumber of Distinct Islands
Hash TableDepth-First SearchBreadth-First SearchUnion Find+1
12MediumOne Edit Distance
Two PointersString
14ArrayHash TableBreadth-First Search
15HardAlien Dictionary
ArrayStringDepth-First SearchBreadth-First Search+2
17EasyClosest Binary Search Tree Value
Binary SearchTreeDepth-First SearchBinary Search Tree+1
20MathBit ManipulationRecursion
21MathDynamic ProgrammingMemoization
25MediumTernary Expression Parser
StringStackRecursion
27HardWord Abbreviation
ArrayStringGreedyTrie+1
28MediumBinary Tree Vertical Order Traversal
Hash TableTreeDepth-First SearchBreadth-First Search+2
29StringStackGreedyMonotonic Stack
32StringDynamic ProgrammingGreedyRecursion
34ArrayHash TableBacktrackingMatrix
36MathDynamic ProgrammingTreeBinary Search Tree+1
38ArrayStringBacktrackingDepth-First Search+1
39Dynamic ProgrammingDepth-First SearchBreadth-First SearchGraph+2
40ArrayBreadth-First SearchMatrix
41StringDynamic Programming
42Depth-First SearchGraphEulerian Circuit
44ArrayHash TableMathDesign+1
45ArrayStringDepth-First SearchBreadth-First Search+3
48Hash TableTreeDepth-First SearchBreadth-First Search+1
49Linked ListStringStackDesign+2
50ArrayDynamic ProgrammingGraphTopological Sort
51HardNumber of Islands II
ArrayHash TableUnion Find
52MediumMinimum Number of Keypresses
Hash TableStringGreedySorting+1
53ArrayBinary SearchStackGreedy+1
54ArrayMathDivide and ConquerGeometry+3
55ArrayDepth-First SearchBreadth-First SearchMatrix
56ArrayHash TableStringSorting
57HardBasic Calculator III
MathStringStackRecursion
58ArrayHash TableStringDepth-First Search+3
59ArrayBinary SearchDivide and Conquer
62ArrayDepth-First SearchBreadth-First Search
64ArrayBinary SearchSliding WindowPrefix Sum
65StringDynamic Programming
67ArrayHash TableDivide and ConquerSorting+4
68Dynamic ProgrammingTreeDepth-First SearchBinary Tree
69Depth-First SearchBreadth-First SearchGraphTopological Sort
70Depth-First SearchGraphEulerian Circuit
71ArrayHash TableMathGeometry+1
72HardShortest Distance from All Buildings
ArrayBreadth-First SearchMatrix
73ArrayBinary SearchDivide and ConquerMatrix
76ArrayHash TableTwo PointersString+2
77ArrayStackSortingMonotonic Stack
80MediumThe Maze
ArrayDepth-First SearchBreadth-First SearchMatrix
81MediumNested List Weight Sum
Depth-First SearchBreadth-First Search
83HardMax Stack
Linked ListStackDesignDoubly-Linked List+1
85ArrayMathBinary SearchPrefix Sum+1
86ArrayHash TablePrefix Sum
88ArrayStringBinary SearchTrie+2
89ArrayDynamic ProgrammingGreedyHeap (Priority Queue)
90StringDynamic Programming
92MediumMinimize Result by Adding Parentheses to Expression✓ Our Solution StringEnumeration
93HardBuild Binary Expression Tree From Infix Expression
StringStackTreeBinary Tree
95Hash TableStackDesignOrdered Set
97ArrayLinked ListStackDesign+2
98ArrayDynamic ProgrammingDepth-First SearchBreadth-First Search+4
100ArrayDivide and ConquerDynamic Programming