ByteDance Interview Questions — 64 DSA Problems
63 problems with full solutions in Python, Java, C++, JavaScript, Go, Rust.
Most frequently asked ByteDance LeetCode questions for software engineering interviews.
- LRU Cache (MEDIUM) — Hash Table, Linked List, Design, Doubly-Linked List
- Smallest Subsequence of Distinct Characters (MEDIUM) — String, Stack, Greedy, Monotonic Stack
- Remove Duplicate Letters (MEDIUM) — String, Stack, Greedy, Monotonic Stack
- First Day Where You Have Been in All the Rooms (MEDIUM) — Array, Dynamic Programming
- Number of Islands (MEDIUM) — Array, Depth-First Search, Breadth-First Search, Union Find, Matrix
- Course Schedule (MEDIUM) — Depth-First Search, Breadth-First Search, Graph, Topological Sort
- Longest Substring Without Repeating Characters (MEDIUM) — Hash Table, String, Sliding Window
- Combination Sum (MEDIUM) — Array, Backtracking
- Basic Calculator II (MEDIUM) — Math, String, Stack
- Kth Largest Element in an Array (MEDIUM) — Array, Divide and Conquer, Sorting, Heap (Priority Queue), Quickselect
- Regular Expression Matching (HARD) — String, Dynamic Programming, Recursion
- Two Sum (EASY) — Array, Hash Table
- Shortest Distance from All Buildings (HARD) — Array, Breadth-First Search, Matrix
- House Robber II (MEDIUM) — Array, Dynamic Programming
- House Robber (MEDIUM) — Array, Dynamic Programming
- Longest Consecutive Sequence (MEDIUM) — Array, Hash Table, Union Find
- Merge Intervals (MEDIUM) — Array, Sorting
- Trapping Rain Water (HARD) — Array, Two Pointers, Dynamic Programming, Stack, Monotonic Stack
- Search in Rotated Sorted Array (MEDIUM) — Array, Binary Search
- Longest Common Subsequence (MEDIUM) — String, Dynamic Programming
- Rotting Oranges (MEDIUM) — Array, Breadth-First Search, Matrix
- Best Time to Buy and Sell Stock (EASY) — Array, Dynamic Programming
- Top K Frequent Elements (MEDIUM) — Array, Hash Table, Divide and Conquer, Sorting, Heap (Priority Queue), Bucket Sort, Counting, Quickselect
- Add Two Numbers (MEDIUM) — Linked List, Math, Recursion
- Maximal Square (MEDIUM) — Array, Dynamic Programming, Matrix
- Combination Sum II (MEDIUM) — Array, Backtracking
- Basic Calculator (HARD) — Math, String, Stack, Recursion
- Insert Delete GetRandom O(1) (MEDIUM) — Array, Hash Table, Math, Design, Randomized
- Subarray Sum Equals K (MEDIUM) — Array, Hash Table, Prefix Sum
- Sum Game (MEDIUM) — Math, String, Greedy, Game Theory
- Number of Good Leaf Nodes Pairs (MEDIUM) — Tree, Depth-First Search, Binary Tree
- Sort List (MEDIUM) — Linked List, Two Pointers, Divide and Conquer, Sorting, Merge Sort
- Delete Operation for Two Strings (MEDIUM) — String, Dynamic Programming
- Open the Lock (MEDIUM) — Array, Hash Table, String, Breadth-First Search
- Container With Most Water (MEDIUM) — Array, Two Pointers, Greedy
- Binary Tree Zigzag Level Order Traversal (MEDIUM) — Tree, Breadth-First Search, Binary Tree
- Trapping Rain Water II (HARD) — Array, Breadth-First Search, Heap (Priority Queue), Matrix
- Pow(x, n) (MEDIUM) — Math, Recursion
- Next Permutation (MEDIUM) — Array, Two Pointers
- Compare Version Numbers (MEDIUM) — Two Pointers, String
- Design Memory Allocator (MEDIUM) — Array, Hash Table, Design, Simulation
- Search a 2D Matrix II (MEDIUM) — Array, Binary Search, Divide and Conquer, Matrix
- Merge Sorted Array (EASY) — Array, Two Pointers, Sorting
- Peak Index in a Mountain Array (MEDIUM) — Array, Binary Search
- Subsets (MEDIUM) — Array, Backtracking, Bit Manipulation
- Longest Repeating Character Replacement (MEDIUM) — Hash Table, String, Sliding Window
- Merge k Sorted Lists (HARD) — Linked List, Divide and Conquer, Heap (Priority Queue), Merge Sort
- Unique Paths (MEDIUM) — Math, Dynamic Programming, Combinatorics
- Minimum Window Substring (HARD) — Hash Table, String, Sliding Window
- Sum of Distances in Tree (HARD) — Dynamic Programming, Tree, Depth-First Search, Graph
B
ByteDance
64 questions tracked63 with solutions
Frequency scoreSorted highest → lowest frequency✓ Our Solution = we have a detailed walkthrough
Showing 64 of 64 questions
1Hash TableLinked ListDesignDoubly-Linked List
2StringStackGreedyMonotonic Stack
3StringStackGreedyMonotonic Stack
5ArrayDepth-First SearchBreadth-First SearchUnion Find+1
6Depth-First SearchBreadth-First SearchGraphTopological Sort
7Hash TableStringSliding Window
10ArrayDivide and ConquerSortingHeap (Priority Queue)+1
11StringDynamic ProgrammingRecursion
13HardShortest Distance from All Buildings
ArrayBreadth-First SearchMatrix
16ArrayHash TableUnion Find
18ArrayTwo PointersDynamic ProgrammingStack+1
20StringDynamic Programming
21ArrayBreadth-First SearchMatrix
23ArrayHash TableDivide and ConquerSorting+4
25ArrayDynamic ProgrammingMatrix
28ArrayHash TableMathDesign+1
29ArrayHash TablePrefix Sum
30MathStringGreedyGame Theory
31TreeDepth-First SearchBinary Tree
32Linked ListTwo PointersDivide and ConquerSorting+1
33StringDynamic Programming
34ArrayHash TableStringBreadth-First Search
36TreeBreadth-First SearchBinary Tree
37ArrayBreadth-First SearchHeap (Priority Queue)Matrix
41ArrayHash TableDesignSimulation
42ArrayBinary SearchDivide and ConquerMatrix
45ArrayBacktrackingBit Manipulation
46Hash TableStringSliding Window
47Linked ListDivide and ConquerHeap (Priority Queue)Merge Sort
48MathDynamic ProgrammingCombinatorics
49Hash TableStringSliding Window
50Dynamic ProgrammingTreeDepth-First SearchGraph
51Two PointersStringDynamic Programming
53ArrayHash TableMathGeometry+1
55Depth-First SearchBreadth-First SearchGraphTopological Sort
56ArraySortingCounting Sort
58ArrayDynamic ProgrammingPrefix Sum
60MathDynamic ProgrammingMemoization
63ArrayDynamic ProgrammingBacktrackingBit Manipulation+2
64MediumRemove Zero Sum Consecutive Nodes from Linked List✓ Our Solution Hash TableLinked List