company prep
ByteDance / TikTok
Problems frequently reported at ByteDance / TikTok, in course order. Solve the must-dos first.
1 easy38 medium13 hardSliding window (variable size) ×4Frequency counting ×4Stack for matching & nesting ×3Trie (prefix tree) ×3Topological sort & cycle detection ×3Binary search on the answer ×2
07 · Big-O & Complexity
- #69Sqrt(x)Easy
11 · Matrices & Simulation
- #54Spiral MatrixMediummust-do
12 · Two Pointers
- #153SumMediummust-do
- #42Trapping Rain WaterHardmust-do
- #75Sort ColorsMediummust-do
13 · Sliding Window
- #3Longest Substring Without Repeating CharactersMediummust-do
- #424Longest Repeating Character ReplacementMediummust-do
- #76Minimum Window SubstringHardmust-do
- #209Minimum Size Subarray SumMediummust-do
14 · Hashing & Prefix Sums
- #128Longest Consecutive SequenceMediummust-do
- #560Subarray Sum Equals KMediummust-do
15 · Linked Lists
- #146LRU CacheMediummust-do
16 · Stacks & Monotonic Stack
- #739Daily TemperaturesMediummust-do
- #394Decode StringMediummust-do
18 · Binary Search
- #33Search in Rotated Sorted ArrayMediummust-do
19 · Sorting
- #148Sort ListMediummust-do
20 · String Parsing & Expression Evaluation
- #227Basic Calculator IIMediummust-do
- #68Text JustificationHard
21 · Tree Traversals
- #199Binary Tree Right Side ViewMediummust-do
- #297Serialize and Deserialize Binary TreeHardmust-do
22 · Tree Recursion
- #124Binary Tree Maximum Path SumHardmust-do
- #105Construct Binary Tree from Preorder and Inorder TraversalMedium
23 · Binary Search Trees
- #450Delete Node in a BSTMediummust-do
- #729My Calendar IMedium
24 · Heaps & Priority Queues
- #215Kth Largest Element in an ArrayMediummust-do
- #347Top K Frequent ElementsMediummust-do
- #23Merge k Sorted ListsHardmust-do
- #295Find Median from Data StreamHardmust-do
- #767Reorganize StringMedium
25 · Tries
- #211Design Add and Search Words Data StructureMediummust-do
- #212Word Search IIHardmust-do
- #648Replace WordsMedium
26 · Graphs: BFS & DFS
- #200Number of IslandsMediummust-do
- #130Surrounded RegionsMedium
- #127Word LadderHardmust-do
29 · Topological Sort
- #207Course ScheduleMediummust-do
- #210Course Schedule IIMediummust-do
- #329Longest Increasing Path in a MatrixHardmust-do
31 · Backtracking
- #39Combination SumMediummust-do
- #22Generate ParenthesesMediummust-do
- #79Word SearchMediummust-do
- #51N-QueensHardmust-do
32 · Greedy Algorithms
- #678Valid Parenthesis StringMediummust-do
33 · Intervals
- #253Meeting Rooms IIMediummust-do
35 · Dynamic Programming
- #198House RobberMediummust-do
- #322Coin ChangeMediummust-do
- #221Maximal SquareMedium
- #300Longest Increasing SubsequenceMediummust-do
- #5Longest Palindromic SubstringMediummust-do
36 · DP Patterns
- #10Regular Expression MatchingHardmust-do
37 · Design Data Structures
- #380Insert Delete GetRandom O(1)Mediummust-do
38 · Segment Trees, Fenwick & String Matching
- #1044Longest Duplicate SubstringHard