company prep
Adobe
Problems frequently reported at Adobe, in course order. Solve the must-dos first.
8 easy21 medium3 hardFrequency counting ×5Two pointers (opposite ends) ×3In-place linked-list rewiring ×3Trie (prefix tree) ×2Sliding window (variable size) ×2Hash lookup (seen before?) ×2
10 · Arrays & Strings
- #169Majority ElementEasymust-do
- #49Group AnagramsMediummust-do
- #14Longest Common PrefixEasy
- #31Next PermutationMediummust-do
12 · Two Pointers
- #167Two Sum II - Input Array Is SortedMediummust-do
- #153SumMediummust-do
13 · Sliding Window
- #3Longest Substring Without Repeating CharactersMediummust-do
- #567Permutation in StringMediummust-do
- #76Minimum Window SubstringHardmust-do
14 · Hashing & Prefix Sums
- #1Two SumEasymust-do
15 · Linked Lists
- #206Reverse Linked ListEasymust-do
- #2Add Two NumbersMediummust-do
- #138Copy List with Random PointerMedium
- #146LRU CacheMediummust-do
18 · Binary Search
- #875Koko Eating BananasMediummust-do
- #4Median of Two Sorted ArraysHard
19 · Sorting
- #179Largest NumberMediummust-do
- #1636Sort Array by Increasing FrequencyEasy
20 · String Parsing & Expression Evaluation
- #12Integer to RomanMedium
22 · Tree Recursion
- #124Binary Tree Maximum Path SumHardmust-do
- #236Lowest Common Ancestor of a Binary TreeMediummust-do
- #105Construct Binary Tree from Preorder and Inorder TraversalMedium
24 · Heaps & Priority Queues
- #703Kth Largest Element in a StreamEasymust-do
- #355Design TwitterMedium
25 · Tries
- #1268Search Suggestions SystemMediummust-do
32 · Greedy Algorithms
- #55Jump GameMediummust-do
- #45Jump Game IIMediummust-do
33 · Intervals
- #56Merge IntervalsMediummust-do
34 · Bit Manipulation
- #136Single NumberEasymust-do
35 · Dynamic Programming
- #70Climbing StairsEasymust-do
- #152Maximum Product SubarrayMediummust-do
38 · Segment Trees, Fenwick & String Matching
- #307Range Sum Query - MutableMediummust-do