Skip to content

📇 Full Repository Index

A comprehensive, searchable index of every architectural pattern, system design, and algorithmic challenge within this repository.


🧭 Quick Navigation


🔵 Data Structures & Algorithms (NeetCode 150)

Click to expand 150+ DSA Challenges

Arrays & Hashing

# Problem Difficulty Path
1 Contains Duplicate Easy dsa/01_arrays_hashing/contains_duplicate/
2 Valid Anagram Easy dsa/01_arrays_hashing/valid_anagram/
3 Two Sum Easy dsa/01_arrays_hashing/two_sum/
4 Group Anagrams Medium dsa/01_arrays_hashing/group_anagrams/
5 Top K Frequent Elements Medium dsa/01_arrays_hashing/top_k_frequent_elements/
6 Product of Array Except Self Medium dsa/01_arrays_hashing/product_of_array_except_self/
7 Valid Sudoku Medium dsa/01_arrays_hashing/valid_sudoku/
8 Encode and Decode Strings Medium dsa/01_arrays_hashing/encode_and_decode_strings/
9 Longest Consecutive Sequence Medium dsa/01_arrays_hashing/longest_consecutive_sequence/

Two Pointers

# Problem Difficulty Path
10 Valid Palindrome Easy dsa/02_two_pointers/valid_palindrome/
11 Two Sum II Medium dsa/02_two_pointers/two_sum_ii/
12 3Sum Medium dsa/02_two_pointers/3sum/
13 Container With Most Water Medium dsa/02_two_pointers/container_with_most_water/
14 Trapping Rain Water Hard dsa/02_two_pointers/trapping_rain_water/

Sliding Window

# Problem Difficulty Path
15 Best Time to Buy/Sell Stock Easy dsa/03_sliding_window/best_time_to_buy_sell_stock/
16 Longest Substring No Repeat Medium dsa/03_sliding_window/longest_substring_without_repeating_characters/
17 Longest Repeating Replacement Medium dsa/03_sliding_window/longest_repeating_character_replacement/
18 Permutation in String Medium dsa/03_sliding_window/permutation_in_string/
19 Minimum Window Substring Hard dsa/03_sliding_window/minimum_window_substring/
20 Sliding Window Maximum Hard dsa/03_sliding_window/sliding_window_maximum/

Stack

# Problem Difficulty Path
21 Valid Parentheses Easy dsa/04_stack/valid_parentheses/
22 Min Stack Medium dsa/04_stack/min_stack/
23 Evaluate RPN Medium dsa/04_stack/evaluate_reverse_polish_notation/
24 Generate Parentheses Medium dsa/04_stack/generate_parentheses/
25 Daily Temperatures Medium dsa/04_stack/daily_temperatures/
26 Car Fleet Medium dsa/04_stack/car_fleet/
27 Largest Rectangle in Histogram Hard dsa/04_stack/largest_rectangle_in_histogram/
# Problem Difficulty Path
28 Binary Search Easy dsa/05_binary_search/binary_search/
29 Search 2D Matrix Medium dsa/05_binary_search/search_2d_matrix/
30 Koko Eating Bananas Medium dsa/05_binary_search/koko_eating_bananas/
31 Find Min in Rotated Array Medium dsa/05_binary_search/find_minimum_in_rotated_sorted_array/
32 Search in Rotated Array Medium dsa/05_binary_search/search_in_rotated_sorted_array/
33 Time Based KV Store Medium dsa/05_binary_search/time_based_key_value_store/
34 Median of Two Sorted Arrays Hard dsa/05_binary_search/median_of_two_sorted_arrays/

Linked List

# Problem Difficulty Path
35 Reverse Linked List Easy dsa/06_linked_list/reverse_list/
36 Merge Two Sorted Lists Easy dsa/06_linked_list/merge_sorted_lists/
37 Reorder List Medium dsa/06_linked_list/reorder_list/
38 Remove Nth Node From End Medium dsa/06_linked_list/remove_nth_node_from_end_of_list/
39 Copy List Random Pointer Medium dsa/06_linked_list/copy_list_with_random_pointer/
40 Add Two Numbers Medium dsa/06_linked_list/add_two_numbers/
41 Linked List Cycle Easy dsa/06_linked_list/linked_list_cycle/
42 Find the Duplicate Number Medium dsa/06_linked_list/find_the_duplicate_number/
43 LRU Cache Medium dsa/06_linked_list/lru_cache/
44 Merge K Sorted Lists Hard dsa/06_linked_list/merge_k_sorted_lists/
45 Reverse Nodes in K Group Hard dsa/06_linked_list/reverse_nodes_in_k_group/
46 Palindrome Linked List Easy dsa/06_linked_list/palindrome_linked_list/

Trees

# Problem Difficulty Path
47 Invert Binary Tree Easy dsa/07_trees/invert_binary_tree/
48 Max Depth of Binary Tree Easy dsa/07_trees/maximum_depth_of_binary_tree/
49 Diameter of Binary Tree Easy dsa/07_trees/diameter_of_binary_tree/
50 Same Tree Easy dsa/07_trees/same_tree/
51 Subtree of Another Tree Easy dsa/07_trees/subtree_of_another_tree/
52 LCA of BST Medium dsa/07_trees/lowest_common_ancestor_bst/
53 Level Order Traversal Medium dsa/07_trees/binary_tree_level_order_traversal/
54 Right Side View Medium dsa/07_trees/binary_tree_right_side_view/
55 Count Good Nodes Medium dsa/07_trees/count_good_nodes_in_binary_tree/
56 Validate BST Medium dsa/07_trees/validate_binary_search_tree/
57 Kth Smallest in BST Medium dsa/07_trees/kth_smallest_element_in_bst/
58 Build Tree Pre/Inorder Medium dsa/07_trees/construct_binary_tree_from_preorder_and_inorder/
59 Max Path Sum Hard dsa/07_trees/binary_tree_maximum_path_sum/
60 Serialize/Deserialize Tree Hard dsa/07_trees/serialize_and_deserialize_binary_tree/

Tries

# Problem Difficulty Path
61 Implement Trie Medium dsa/08_tries/implement_trie/
62 Add and Search Words Medium dsa/08_tries/design_add_and_search_words_data_structure/
63 Word Search II Hard dsa/08_tries/word_search_ii/

Heap / Priority Queue

# Problem Difficulty Path
64 Kth Largest in Stream Easy dsa/09_heap_priority_queue/kth_largest_element_in_a_stream/
65 Last Stone Weight Easy dsa/09_heap_priority_queue/last_stone_weight/
66 K Closest Points Medium dsa/09_heap_priority_queue/k_closest_points_to_origin/
67 Kth Largest in Array Medium dsa/09_heap_priority_queue/kth_largest_element_in_an_array/
68 Task Scheduler Medium dsa/09_heap_priority_queue/task_scheduler/
69 Design Twitter Medium dsa/09_heap_priority_queue/design_twitter/
70 Find Median from Stream Hard dsa/09_heap_priority_queue/find_median_from_data_stream/

Backtracking

# Problem Difficulty Path
71 Subsets Medium dsa/10_backtracking/subsets/
72 Combination Sum Medium dsa/10_backtracking/combination_sum/
73 Permutations Medium dsa/10_backtracking/permutations/
74 Subsets II Medium dsa/10_backtracking/subsets_ii/
75 Combination Sum II Medium dsa/10_backtracking/combination_sum_ii/
76 Word Search Medium dsa/10_backtracking/word_search/
77 Palindrome Partitioning Medium dsa/10_backtracking/palindrome_partitioning/
78 Letter Combinations Medium dsa/10_backtracking/letter_combinations_of_a_phone_number/
79 N-Queens Hard dsa/10_backtracking/n_queens/

Graphs

# Problem Difficulty Path
80 Number of Islands Medium dsa/11_graphs/number_of_islands/
81 Max Area of Island Medium dsa/11_graphs/max_area_of_island/
82 Clone Graph Medium dsa/11_graphs/clone_graph/
83 Walls and Gates Medium dsa/11_graphs/walls_and_gates/
84 Rotting Oranges Medium dsa/11_graphs/rotting_oranges/
85 Pacific Atlantic Water Flow Medium dsa/11_graphs/pacific_atlantic_water_flow/
86 Surrounded Regions Medium dsa/11_graphs/surrounded_regions/
87 Course Schedule Medium dsa/11_graphs/course_schedule/
88 Course Schedule II Medium dsa/11_graphs/course_schedule_ii/
89 Graph Valid Tree Medium dsa/11_graphs/graph_valid_tree/
90 Connected Components Medium dsa/11_graphs/number_of_connected_components_in_graph/
91 Redundant Connection Medium dsa/11_graphs/redundant_connection/
92 Word Ladder Hard dsa/11_graphs/word_ladder/

Advanced Graphs

# Problem Difficulty Path
93 Reconstruct Itinerary Hard dsa/12_advanced_graphs/reconstruct_itinerary/
94 Min Cost to Connect Points Medium dsa/12_advanced_graphs/min_cost_to_connect_all_points/
95 Network Delay Time Medium dsa/12_advanced_graphs/network_delay_time/
96 Swim in Rising Water Hard dsa/12_advanced_graphs/swim_in_rising_water/
97 Alien Dictionary Hard dsa/12_advanced_graphs/alien_dictionary/
98 Cheapest Flights K Stops Medium dsa/12_advanced_graphs/cheapest_flights_within_k_stops/

1D Dynamic Programming

# Problem Difficulty Path
99 Climbing Stairs Easy dsa/13_1d_dynamic_programming/climbing_stairs/
100 Min Cost Climbing Stairs Easy dsa/13_1d_dynamic_programming/min_cost_climbing_stairs/
101 House Robber Medium dsa/13_1d_dynamic_programming/house_robber/
102 House Robber II Medium dsa/13_1d_dynamic_programming/house_robber_ii/
103 Longest Palindromic Substring Medium dsa/13_1d_dynamic_programming/longest_palindromic_substring/
104 Palindromic Substrings Medium dsa/13_1d_dynamic_programming/palindromic_substrings/
105 Decode Ways Medium dsa/13_1d_dynamic_programming/decode_ways/
106 Coin Change Medium dsa/13_1d_dynamic_programming/coin_change/
107 Max Product Subarray Medium dsa/13_1d_dynamic_programming/maximum_product_subarray/
108 Word Break Medium dsa/13_1d_dynamic_programming/word_break/
109 Longest Increasing Subseq Medium dsa/13_1d_dynamic_programming/longest_increasing_subsequence/
110 Partition Equal Subset Sum Medium dsa/13_1d_dynamic_programming/partition_equal_subset_sum/

2D Dynamic Programming

# Problem Difficulty Path
111 Unique Paths Medium dsa/14_2d_dynamic_programming/unique_paths/
112 Longest Common Subsequence Medium dsa/14_2d_dynamic_programming/longest_common_subsequence/
113 Stock with Cooldown Medium dsa/14_2d_dynamic_programming/best_time_to_buy_and_sell_stock_with_cooldown/
114 Coin Change II Medium dsa/14_2d_dynamic_programming/coin_change_ii/
115 Target Sum Medium dsa/14_2d_dynamic_programming/target_sum/
116 Interleaving String Medium dsa/14_2d_dynamic_programming/interleaving_string/
117 Longest Increasing Path Hard dsa/14_2d_dynamic_programming/longest_increasing_path_in_matrix/
118 Distinct Subsequences Hard dsa/14_2d_dynamic_programming/distinct_subsequences/
119 Edit Distance Medium dsa/14_2d_dynamic_programming/edit_distance/
120 Burst Balloons Hard dsa/14_2d_dynamic_programming/burst_balloons/
121 Regular Expression Matching Hard dsa/14_2d_dynamic_programming/regular_expression_matching/

Greedy

# Problem Difficulty Path
122 Maximum Subarray Medium dsa/15_greedy/maximum_subarray/
123 Jump Game Medium dsa/15_greedy/jump_game/
124 Jump Game II Medium dsa/15_greedy/jump_game_ii/
125 Gas Station Medium dsa/15_greedy/gas_station/
126 Hand of Straights Medium dsa/15_greedy/hand_of_straights/
127 Merge Triplets Medium dsa/15_greedy/merge_triplets_to_form_target_triplet/
128 Partition Labels Medium dsa/15_greedy/partition_labels/
129 Valid Parenthesis String Medium dsa/15_greedy/valid_parenthesis_string/

Intervals

# Problem Difficulty Path
130 Insert Interval Medium dsa/16_intervals/insert_interval/
131 Merge Intervals Medium dsa/16_intervals/merge_intervals/
132 Non-overlapping Intervals Medium dsa/16_intervals/non_overlapping_intervals/
133 Meeting Rooms Easy dsa/16_intervals/meeting_rooms/
134 Meeting Rooms II Medium dsa/16_intervals/meeting_rooms_ii/
135 Min Interval Each Query Hard dsa/16_intervals/minimum_interval_to_include_each_query/

Math & Geometry

# Problem Difficulty Path
136 Rotate Image Medium dsa/17_math_geometry/rotate_image/
137 Spiral Matrix Medium dsa/17_math_geometry/spiral_matrix/
138 Set Matrix Zeroes Medium dsa/17_math_geometry/set_matrix_zeroes/
139 Happy Number Easy dsa/17_math_geometry/happy_number/
140 Plus One Easy dsa/17_math_geometry/plus_one/
141 Pow(x, n) Medium dsa/17_math_geometry/pow_x_n/
142 Multiply Strings Medium dsa/17_math_geometry/multiply_strings/
143 Detect Squares Medium dsa/17_math_geometry/detect_squares/

Bit Manipulation

# Problem Difficulty Path
144 Single Number Easy dsa/18_bit_manipulation/single_number/
145 Number of 1 Bits Easy dsa/18_bit_manipulation/number_of_1_bits/
146 Counting Bits Easy dsa/18_bit_manipulation/counting_bits/
147 Reverse Bits Easy dsa/18_bit_manipulation/reverse_bits/
148 Missing Number Easy dsa/18_bit_manipulation/missing_number/
149 Sum of Two Integers Medium dsa/18_bit_manipulation/sum_of_two_integers/
150 Reverse Integer Medium dsa/18_bit_manipulation/reverse_integer/

Sorting Algorithms

# Algorithm Category Path
1 Bubble Sort Sorting dsa/19_sorting/bubble_sort/
2 Insertion Sort Sorting dsa/19_sorting/insertion_sort/
3 Selection Sort Sorting dsa/19_sorting/selection_sort/
4 Merge Sort Sorting dsa/19_sorting/merge_sort/
5 Quick Sort Sorting dsa/19_sorting/quick_sort/

🟢 Design Patterns

Creational Patterns

Pattern Category Path
Abstract Factory UI Toolkit design_patterns/creational/abstract_factory/ui_toolkit/
Builder PC Builder design_patterns/creational/builder/custom_pc_builder/
Factory (Coupon) Coupon design_patterns/creational/factory/coupon_factory/
Factory (Document) Document design_patterns/creational/factory/document_factory/
Singleton Core Pattern design_patterns/creational/singleton/singleton_pattern/
Object Pool DB Connection design_patterns/creational/object_pool/db_connection_pool/
Prototype Object Copy design_patterns/creational/prototype/

Structural Patterns

Pattern Category Path
Adapter Format Trans. design_patterns/structural/adapter/format_translator/
Bridge Remote Ctrl design_patterns/structural/bridge/remote_control/
Composite Org Chart design_patterns/structural/composite/organisation_chart/
Decorator Pizza Builder design_patterns/structural/decorator/pizza_builder_decorator/
Facade Smart Home design_patterns/structural/facade/smart_home_facade/
Flyweight Forest Sim design_patterns/structural/flyweight/forest_simulator/
Proxy Lazy Loading design_patterns/structural/proxy/lazy_loading_proxy/

Behavioral Patterns

Pattern Category Path
Chain of Resp. Request Proc. design_patterns/behavioral/chain_of_responsibility/
Command Smart Home design_patterns/behavioral/command/smart_home_hub/
Interpreter Rule Engine design_patterns/behavioral/interpreter/rule_engine/
Iterator Menu Iter. design_patterns/behavioral/iterator/menu_iterator/
Mediator Collab. design_patterns/behavioral/mediator/
Memento History/Undo design_patterns/behavioral/memento/text_editor_history/
MVC Arch. Pattern design_patterns/behavioral/mvc/
Null Object Defaults design_patterns/behavioral/null_object/discount_system/
Observer (Basic) Basic design_patterns/behavioral/observer/basic_observer/
Observer (IoT) IoT design_patterns/behavioral/observer/iot_notification_system/
State (Workflow) Workflow design_patterns/behavioral/state/document_workflow/
State (Vending) Vending design_patterns/behavioral/state/gumball_machine_vending/
Strategy Sprinkler Sys. design_patterns/behavioral/strategy/sprinkler_system/
Template Data Export design_patterns/behavioral/template/data_exporter/
Visitor Ops on Struct. design_patterns/behavioral/visitor/

🟠 Machine Coding & LLD Systems

System Category Complexity Path
Snake & Ladder Games Medium machine_coding/games/snake_ladder/
Tic-Tac-Toe Games Easy machine_coding/games/tic_tac_toe/
Elevator System Systems High machine_coding/systems/elevator/
Instagram Feed Systems High machine_coding/systems/instagram/
Parking Lot Systems Medium machine_coding/systems/parking_lot/
Cache System Systems Medium machine_coding/systems/cache/
Job Scheduler Distributed High machine_coding/distributed/job_scheduler/
Rate Limiter Distributed Medium machine_coding/distributed/rate_limiter/
Pub-Sub System Distributed Medium machine_coding/distributed/pub_sub/
CI/CD Pipeline Real World High machine_coding/real_world_systems/ci_cd_pipeline/

🟤 Infrastructure & Distributed Challenges

Challenge Impact Path
Dockerized Job Scheduler DevOps/Scaling infrastructure_challenges/dockerized_job_scheduler/
Redis Rate Limiter Consistency/Perf infrastructure_challenges/redis_rate_limiter/
Socket Chat App Real-time Sync infrastructure_challenges/socket_chat_app/

🏗️ High-Level Design (HLD) Architectures

Architecture Sector Path
WhatsApp Messaging system_design_hld/architectures/social_media/WHATSAPP.md
Video Streaming (Netflix/YouTube) Video Streaming system_design_hld/architectures/streaming/VIDEO_STREAMING_SERVICE.md
Uber Global Logistics system_design_hld/architectures/payment_systems/UBER_HLD.md
S3 Lite Storage system_design_hld/architectures/distributed_storage/S3_LITE.md
URL Shortener Utility system_design_hld/architectures/utilities/URL_SHORTENER.md