📇 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)
- 🟢 Design Patterns
- 🟠 Machine Coding & LLD Systems
- 🟤 Infrastructure & Distributed Challenges
- 🏗️ High-Level Design (HLD) Architectures
🔵 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/ |
Binary Search
| # | 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 |
|---|---|---|
| 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 |