Citadel LeetCode Questions
100 questions all-time · 5 easy · 60 medium · 35 hard
| # | Problem | Difficulty | Frequency | Acceptance |
|---|---|---|---|---|
| 1 | Longest Non-decreasing Subarray From Two Arrays Array, Dynamic Programming | Medium | 100 | 29.8% |
| 2 | Binary Tree Maximum Path Sum Dynamic Programming, Tree, Depth-First Search, Binary Tree | Hard | 99 | 41.2% |
| 3 | Delete and Earn Array, Hash Table, Dynamic Programming | Medium | 93 | 56.7% |
| 4 | Minimum Knight Moves Breadth-First Search | Medium | 93 | 41.3% |
| 5 | Palindromic Substrings Two Pointers, String, Dynamic Programming | Medium | 87 | 71.7% |
| 6 | Sliding Window Maximum Array, Queue, Sliding Window, Heap (Priority Queue), Monotonic Queue | Hard | 85 | 47.6% |
| 7 | Count Palindromic Subsequences String, Dynamic Programming | Hard | 81 | 39.3% |
| 8 | Minimum Equal Sum of Two Arrays After Replacing Zeros Array, Greedy | Medium | 80 | 50.2% |
| 9 | LFU Cache Hash Table, Linked List, Design, Doubly-Linked List | Hard | 80 | 46.6% |
| 10 | Minimum Operations to Make Numbers Non-positive Array, Binary Search | Hard | 78 | 42.2% |
| 11 | Number of Good Binary Strings Dynamic Programming | Medium | 76 | 52.5% |
| 12 | Maximum Total Damage With Spell Casting Array, Hash Table, Two Pointers, Binary Search, Dynamic Programming, Sorting, Counting | Medium | 76 | 27.7% |
| 13 | Maximum Length of Repeated Subarray Array, Binary Search, Dynamic Programming, Sliding Window, Rolling Hash, Hash Function | Medium | 74 | 51.0% |
| 14 | LRU Cache Hash Table, Linked List, Design, Doubly-Linked List | Medium | 74 | 45.2% |
| 15 | Minimum Costs Using the Train Line Array, Dynamic Programming | Hard | 74 | 77.6% |
| 16 | Best Position for a Service Centre Array, Math, Geometry, Randomized | Hard | 74 | 34.9% |
| 17 | Evaluate Division Array, String, Depth-First Search, Breadth-First Search, Union Find, Graph, Shortest Path | Medium | 72 | 63.1% |
| 18 | First Completely Painted Row or Column Array, Hash Table, Matrix | Medium | 72 | 63.9% |
| 19 | Longest String Chain Array, Hash Table, Two Pointers, String, Dynamic Programming, Sorting | Medium | 70 | 62.0% |
| 20 | Merge Intervals Array, Sorting | Medium | 70 | 49.4% |
| 21 | Best Time to Buy and Sell Stock Array, Dynamic Programming | Easy | 67 | 55.3% |
| 22 | Serialize and Deserialize Binary Tree String, Tree, Depth-First Search, Breadth-First Search, Design, Binary Tree | Hard | 67 | 59.0% |
| 23 | Find the Duplicate Number Array, Two Pointers, Binary Search, Bit Manipulation | Medium | 67 | 62.8% |
| 24 | Evaluate Reverse Polish Notation Array, Math, Stack | Medium | 65 | 55.0% |
| 25 | Insert Delete GetRandom O(1) Array, Hash Table, Math, Design, Randomized | Medium | 65 | 55.0% |
| 26 | Sudoku Solver Array, Hash Table, Backtracking, Matrix | Hard | 61 | 63.9% |
| 27 | Length of Longest Subarray With at Most K Frequency Array, Hash Table, Sliding Window | Medium | 61 | 55.8% |
| 28 | Parallel Courses III Array, Dynamic Programming, Graph, Topological Sort | Hard | 61 | 66.7% |
| 29 | Number of Islands Array, Depth-First Search, Breadth-First Search, Union Find, Matrix | Medium | 61 | 62.3% |
| 30 | Couples Holding Hands Greedy, Depth-First Search, Breadth-First Search, Union Find, Graph | Hard | 57 | 58.4% |
| 31 | Find Median from Data Stream Two Pointers, Design, Sorting, Heap (Priority Queue), Data Stream | Hard | 57 | 53.3% |
| 32 | Group Anagrams Array, Hash Table, String, Sorting | Medium | 57 | 70.9% |
| 33 | Validate Binary Search Tree Tree, Depth-First Search, Binary Search Tree, Binary Tree | Medium | 57 | 34.4% |
| 34 | Meeting Scheduler Array, Two Pointers, Sorting | Medium | 57 | 55.2% |
| 35 | Employee Free Time Array, Line Sweep, Sorting, Heap (Priority Queue) | Hard | 57 | 72.6% |
| 36 | Merge k Sorted Lists Linked List, Divide and Conquer, Heap (Priority Queue), Merge Sort | Hard | 57 | 56.8% |
| 37 | Permutations Array, Backtracking | Medium | 57 | 80.7% |
| 38 | Robot Room Cleaner Backtracking, Interactive | Hard | 57 | 77.5% |
| 39 | Binary Tree Zigzag Level Order Traversal Tree, Breadth-First Search, Binary Tree | Medium | 52 | 61.7% |
| 40 | Design Search Autocomplete System String, Depth-First Search, Design, Trie, Sorting, Heap (Priority Queue), Data Stream | Hard | 52 | 49.4% |
| 41 | N-Queens Array, Backtracking | Hard | 52 | 72.8% |
| 42 | Fizz Buzz Math, String, Simulation | Easy | 52 | 74.4% |
| 43 | Best Time to Buy and Sell Stock II Array, Dynamic Programming, Greedy | Medium | 52 | 69.5% |
| 44 | Regular Expression Matching String, Dynamic Programming, Recursion | Hard | 52 | 29.3% |
| 45 | Best Time to Buy and Sell Stock III Array, Dynamic Programming | Hard | 52 | 51.1% |
| 46 | Search Suggestions System Array, String, Binary Search, Trie, Sorting, Heap (Priority Queue) | Medium | 52 | 65.1% |
| 47 | Combination Sum Array, Backtracking | Medium | 52 | 74.7% |
| 48 | Design Circular Queue Array, Linked List, Design, Queue | Medium | 52 | 52.6% |
| 49 | Trapping Rain Water Array, Two Pointers, Dynamic Programming, Stack, Monotonic Stack | Hard | 52 | 65.1% |
| 50 | Word Search Array, String, Backtracking, Depth-First Search, Matrix | Medium | 46 | 45.3% |
| 51 | Design Excel Sum Formula Array, Hash Table, String, Graph, Design, Topological Sort, Matrix | Hard | 46 | 42.6% |
| 52 | Climbing Stairs Math, Dynamic Programming, Memoization | Easy | 46 | 53.5% |
| 53 | Letter Combinations of a Phone Number Hash Table, String, Backtracking | Medium | 46 | 63.9% |
| 54 | Sqrt(x) Math, Binary Search | Easy | 46 | 40.4% |
| 55 | Implement Trie (Prefix Tree) Hash Table, String, Design, Trie | Medium | 46 | 67.9% |
| 56 | Moving Average from Data Stream Array, Design, Queue, Data Stream | Easy | 46 | 79.9% |
| 57 | Sort Items by Groups Respecting Dependencies Depth-First Search, Breadth-First Search, Graph, Topological Sort | Hard | 46 | 65.6% |
| 58 | Design Front Middle Back Queue Array, Linked List, Design, Queue, Data Stream | Medium | 46 | 56.3% |
| 59 | Median of Two Sorted Arrays Array, Binary Search, Divide and Conquer | Hard | 46 | 43.8% |
| 60 | Find Servers That Handled Most Number of Requests Array, Greedy, Heap (Priority Queue), Ordered Set | Hard | 46 | 44.1% |
| 61 | Longest Increasing Path in a Matrix Array, Dynamic Programming, Depth-First Search, Breadth-First Search, Graph, Topological Sort, Memoization, Matrix | Hard | 46 | 55.3% |
| 62 | House Robber Array, Dynamic Programming | Medium | 46 | 52.3% |
| 63 | Maximal Square Array, Dynamic Programming, Matrix | Medium | 46 | 48.8% |
| 64 | 3Sum Array, Two Pointers, Sorting | Medium | 46 | 37.1% |
| 65 | Perfect Squares Math, Dynamic Programming, Breadth-First Search | Medium | 46 | 55.7% |
| 66 | Minimum Height Trees Depth-First Search, Breadth-First Search, Graph, Topological Sort | Medium | 46 | 42.0% |
| 67 | Alien Dictionary Array, String, Depth-First Search, Breadth-First Search, Graph, Topological Sort | Hard | 46 | 36.7% |
| 68 | Count Ways To Build Good Strings Dynamic Programming | Medium | 46 | 59.2% |
| 69 | Transform to Chessboard Array, Math, Bit Manipulation, Matrix | Hard | 46 | 50.6% |
| 70 | Best Time to Buy and Sell Stock with Transaction Fee Array, Dynamic Programming, Greedy | Medium | 37 | 70.5% |
| 71 | Open the Lock Array, Hash Table, String, Breadth-First Search | Medium | 37 | 60.7% |
| 72 | Koko Eating Bananas Array, Binary Search | Medium | 37 | 49.1% |
| 73 | Populating Next Right Pointers in Each Node II Linked List, Tree, Depth-First Search, Breadth-First Search, Binary Tree | Medium | 37 | 55.6% |
| 74 | Max Points on a Line Array, Hash Table, Math, Geometry | Hard | 37 | 29.0% |
| 75 | Integer to Roman Hash Table, Math, String | Medium | 37 | 68.6% |
| 76 | Permutations II Array, Backtracking, Sorting | Medium | 37 | 61.6% |
| 77 | Pow(x, n) Math, Recursion | Medium | 37 | 37.0% |
| 78 | Simplify Path String, Stack | Medium | 37 | 47.9% |
| 79 | Container With Most Water Array, Two Pointers, Greedy | Medium | 37 | 57.8% |
| 80 | Rotting Oranges Array, Breadth-First Search, Matrix | Medium | 37 | 56.6% |
| 81 | Longest Increasing Subsequence Array, Binary Search, Dynamic Programming | Medium | 37 | 57.8% |
| 82 | Rank Transform of a Matrix Array, Union Find, Graph, Topological Sort, Sorting, Matrix | Hard | 37 | 41.4% |
| 83 | Paint House Array, Dynamic Programming | Medium | 37 | 63.7% |
| 84 | Subarray Sums Divisible by K Array, Hash Table, Prefix Sum | Medium | 37 | 55.6% |
| 85 | Search a 2D Matrix II Array, Binary Search, Divide and Conquer, Matrix | Medium | 37 | 55.2% |
| 86 | Best Time to Buy and Sell Stock IV Array, Dynamic Programming | Hard | 37 | 47.1% |
| 87 | Insert Delete GetRandom O(1) - Duplicates allowed Array, Hash Table, Math, Design, Randomized | Hard | 37 | 35.8% |
| 88 | Word Ladder II Hash Table, String, Backtracking, Breadth-First Search | Hard | 37 | 27.2% |
| 89 | Bus Routes Array, Hash Table, Breadth-First Search | Hard | 37 | 47.0% |
| 90 | Course Schedule Depth-First Search, Breadth-First Search, Graph, Topological Sort | Medium | 37 | 49.2% |
| 91 | Reorganize String Hash Table, String, Greedy, Sorting, Heap (Priority Queue), Counting | Medium | 37 | 56.2% |
| 92 | Longest Common Subsequence String, Dynamic Programming | Medium | 37 | 58.2% |
| 93 | Egg Drop With 2 Eggs and N Floors Math, Dynamic Programming | Medium | 37 | 73.7% |
| 94 | Course Schedule II Depth-First Search, Breadth-First Search, Graph, Topological Sort | Medium | 37 | 53.4% |
| 95 | Populating Next Right Pointers in Each Node Linked List, Tree, Depth-First Search, Breadth-First Search, Binary Tree | Medium | 37 | 65.4% |
| 96 | Knight Probability in Chessboard Dynamic Programming | Medium | 37 | 56.6% |
| 97 | Asteroid Collision Array, Stack, Simulation | Medium | 37 | 45.5% |
| 98 | The Skyline Problem Array, Divide and Conquer, Binary Indexed Tree, Segment Tree, Line Sweep, Heap (Priority Queue), Ordered Set | Hard | 37 | 44.0% |
| 99 | Basic Calculator Math, String, Stack, Recursion | Hard | 37 | 45.6% |
| 100 | Count Number of Maximum Bitwise-OR Subsets Array, Backtracking, Bit Manipulation, Enumeration | Medium | 37 | 87.9% |
How to read this list
The tabs at the top split the questions by how recently people said they were asked in interviews. "Last 30 Days" is the past month, "Last 3 Months" is the past quarter, and so on. "All Time" is every question on record for this company.
Frequency is a score from 0 to 100 for how often a question showed up in that time window. A higher number means it came up more often, so the list starts with the most common questions first. Acceptance is the share of submissions that pass on LeetCode. Click any question to open it on LeetCode.