Design LeetCode Problems: All 122, With Python Solutions

Every problem in this library that LeetCode tags Design 122 in total, 89 of them with a complete Python solution, a worked example and the time and space complexity of the approach.

  • 122 problems
  • 13 Easy
  • 79 Medium
  • 30 Hard

Design problems by difficulty

Problems with a complete Python solution are listed first, then by ascending problem number.

Easy (13)

#ProblemDifficultyTopics
225Implement Stack using QueuesEasyStack, Design, Queue
232Implement Queue using StacksEasyStack, Design, Queue
303Range Sum Query - ImmutableEasyDesign, Array, Prefix Sum
703Kth Largest Element in a StreamEasyTree, Design, Binary Search Tree +3
705Design HashSetEasyDesign, Array, Hash Table +2
706Design HashMapEasyDesign, Array, Hash Table +2
933Number of Recent CallsEasyDesign, Queue, Data Stream
1603Design Parking SystemEasyDesign, Counting, Simulation
1656Design an Ordered StreamEasyDesign, Array, Hash Table +1
170Two Sum III - Data structure designPremiumEasyDesign, Array, Hash Table +2
346Moving Average from Data StreamPremiumEasyDesign, Queue, Array +1
359Logger Rate LimiterPremiumEasyDesign, Hash Table, Data Stream
604Design Compressed String IteratorPremiumEasyDesign, Array, String +1

Medium (79)

#ProblemDifficultyTopics
146LRU CacheMediumDesign, Hash Table, Linked List +1
155Min StackMediumStack, Design
173Binary Search Tree IteratorMediumStack, Tree, Design +3
208Implement Trie (Prefix Tree)MediumDesign, Trie, Hash Table +1
211Design Add and Search Words Data StructureMediumDepth-First Search, Design, Trie +1
284Peeking IteratorMediumDesign, Array, Iterator
304Range Sum Query 2D - ImmutableMediumDesign, Array, Matrix +1
307Range Sum Query - MutableMediumDesign, Binary Indexed Tree, Segment Tree +2
341Flatten Nested List IteratorMediumStack, Tree, Depth-First Search +3
355Design TwitterMediumDesign, Hash Table, Linked List +1
380Insert Delete GetRandom O(1)MediumDesign, Array, Hash Table +2
384Shuffle an ArrayMediumDesign, Array, Math +1
449Serialize and Deserialize BSTMediumTree, Depth-First Search, Breadth-First Search +4
535Encode and Decode TinyURLMediumDesign, Hash Table, String +1
622Design Circular QueueMediumDesign, Queue, Array +1
641Design Circular DequeMediumDesign, Queue, Array +1
676Implement Magic DictionaryMediumDepth-First Search, Design, Trie +2
677Map Sum PairsMediumDesign, Trie, Hash Table +1
707Design Linked ListMediumDesign, Linked List
729My Calendar IMediumDesign, Segment Tree, Array +2
731My Calendar IIMediumDesign, Segment Tree, Array +3
855Exam RoomMediumDesign, Ordered Set, Heap (Priority Queue)
900RLE IteratorMediumDesign, Array, Counting +1
901Online Stock SpanMediumStack, Design, Data Stream +1
911Online ElectionMediumDesign, Array, Hash Table +1
919Complete Binary Tree InserterMediumTree, Breadth-First Search, Design +1
981Time Based Key-Value StoreMediumDesign, Hash Table, String +1
1146Snapshot ArrayMediumDesign, Array, Hash Table +1
1261Find Elements in a Contaminated Binary TreeMediumTree, Depth-First Search, Breadth-First Search +3
1286Iterator for CombinationMediumDesign, String, Backtracking +1
1348Tweet Counts Per FrequencyMediumDesign, Hash Table, String +3
1352Product of the Last K NumbersMediumDesign, Array, Math +2
1357Apply Discount Every n OrdersMediumDesign, Array, Hash Table
1381Design a Stack With Increment OperationMediumStack, Design, Array
1396Design Underground SystemMediumDesign, Hash Table, String
1472Design Browser HistoryMediumStack, Design, Array +3
1476Subrectangle QueriesMediumDesign, Array, Matrix
1600Throne InheritanceMediumTree, Depth-First Search, Design +1
1670Design Front Middle Back QueueMediumDesign, Queue, Array +2
1797Design Authentication ManagerMediumDesign, Hash Table, Linked List +1
1845Seat Reservation ManagerMediumDesign, Heap (Priority Queue)
1865Finding Pairs With a Certain SumMediumDesign, Array, Hash Table
1993Operations on TreeMediumTree, Depth-First Search, Breadth-First Search +3
2013Detect SquaresMediumDesign, Array, Hash Table +1
2034Stock Price FluctuationMediumDesign, Hash Table, Data Stream +2
2043Simple Bank SystemMediumDesign, Array, Hash Table +1
2080Range Frequency QueriesMediumDesign, Segment Tree, Array +2
2166Design BitsetMediumDesign, Array, Hash Table +1
2241Design an ATM MachineMediumGreedy, Design, Array
2336Smallest Number in Infinite SetMediumDesign, Hash Table, Ordered Set +1
2349Design a Number Container SystemMediumDesign, Hash Table, Ordered Set +1
2353Design a Food Rating SystemMediumDesign, Array, Hash Table +3
2424Longest Uploaded PrefixMediumUnion Find, Design, Binary Indexed Tree +5
2502Design Memory AllocatorMediumDesign, Array, Hash Table +1
2526Find Consecutive Integers from a Data StreamMediumDesign, Queue, Hash Table +2
2671Frequency TrackerMediumDesign, Hash Table
244Shortest Word Distance IIPremiumMediumDesign, Array, Hash Table +2
251Flatten 2D VectorPremiumMediumDesign, Array, Two Pointers +1
271Encode and Decode StringsPremiumMediumDesign, Array, String
281Zigzag IteratorPremiumMediumDesign, Queue, Array +1
288Unique Word AbbreviationPremiumMediumDesign, Array, Hash Table +1
308Range Sum Query 2D - MutablePremiumMediumDesign, Binary Indexed Tree, Segment Tree +2
348Design Tic-Tac-ToePremiumMediumDesign, Array, Hash Table +2
353Design Snake GamePremiumMediumDesign, Queue, Array +2
362Design Hit CounterPremiumMediumDesign, Queue, Array +2
379Design Phone DirectoryPremiumMediumDesign, Queue, Array +2
635Design Log Storage SystemPremiumMediumDesign, Hash Table, String +1
1166Design File SystemPremiumMediumDesign, Trie, Hash Table +1
1244Design A LeaderboardPremiumMediumDesign, Hash Table, Sorting
1429First Unique NumberPremiumMediumDesign, Queue, Array +2
1500Design a File Sharing SystemPremiumMediumDesign, Hash Table, Data Stream +2
1570Dot Product of Two Sparse VectorsPremiumMediumDesign, Array, Hash Table +1
1586Binary Search Tree Iterator IIPremiumMediumStack, Tree, Design +3
1628Design an Expression Tree With Evaluate FunctionPremiumMediumStack, Tree, Design +3
1756Design Most Recently Used QueuePremiumMediumDesign, Array, Linked List +3
1804Implement Trie II (Prefix Tree)PremiumMediumDesign, Trie, Hash Table +1
2069Walking Robot Simulation IIMediumDesign, Simulation
2408Design SQLPremiumMediumDesign, Array, Hash Table +1
2590Design a Todo ListPremiumMediumDesign, Array, Hash Table +2

Hard (30)

#ProblemDifficultyTopics
295Find Median from Data StreamHardDesign, Two Pointers, Data Stream +2
297Serialize and Deserialize Binary TreeHardTree, Depth-First Search, Breadth-First Search +3
352Data Stream as Disjoint IntervalsHardUnion Find, Design, Hash Table +3
381Insert Delete GetRandom O(1) - Duplicates allowedHardDesign, Array, Hash Table +2
432All O`one Data StructureHardDesign, Hash Table, Linked List +1
460LFU CacheHardDesign, Hash Table, Linked List +1
715Range ModuleHardDesign, Segment Tree, Ordered Set
732My Calendar IIIHardDesign, Segment Tree, Binary Search +2
745Prefix and Suffix SearchHardDesign, Trie, Array +2
895Maximum Frequency StackHardStack, Design, Hash Table +1
1032Stream of CharactersHardDesign, Trie, Array +2
1157Online Majority Element In SubarrayHardDesign, Binary Indexed Tree, Segment Tree +2
1172Dinner Plate StacksHardStack, Design, Hash Table +1
1206Design SkiplistHardDesign, Linked List
1483Kth Ancestor of a Tree NodeHardBit Manipulation, Tree, Depth-First Search +4
1622Fancy SequenceHardDesign, Segment Tree, Math
1825Finding MK AverageHardDesign, Queue, Data Stream +2
1912Design Movie Rental SystemHardDesign, Array, Hash Table +2
2102Sequentially Ordinal Rank TrackerHardDesign, Data Stream, Ordered Set +1
2227Encrypt and Decrypt StringsHardDesign, Trie, Array +2
2276Count Integers in IntervalsHardDesign, Segment Tree, Ordered Set
2286Booking Concert Tickets in GroupsHardDesign, Binary Indexed Tree, Segment Tree +1
2296Design a Text EditorHardStack, Design, Linked List +3
2642Design Graph With Shortest Path CalculatorHardGraph, Design, Shortest Path +1
431Encode N-ary Tree to Binary TreePremiumHardTree, Depth-First Search, Breadth-First Search +2
588Design In-Memory File SystemPremiumHardDesign, Trie, Hash Table +2
631Design Excel Sum FormulaPremiumHardGraph, Design, Topological Sort +4
642Design Search Autocomplete SystemPremiumHardDepth-First Search, Design, Trie +4
716Max StackPremiumHardStack, Design, Linked List +2
2254Design Video Sharing PlatformPremiumHardStack, Design, Hash Table +1

When the Design problem arrives live

Stealth Interview is a desktop app for macOS and Windows. It reads the coding problem off your screen, returns a working solution with a step-by-step explanation and its time and space complexity, and transcribes what the interviewer is saying — while staying invisible to screen sharing.