From 75a52356591a2f896a317e1eeab9c7e9a9d4dea5 Mon Sep 17 00:00:00 2001 From: Carlos Date: Fri, 11 Jul 2025 12:08:38 -0400 Subject: [PATCH] Restructure README with personal learning journey and create automated notes system --- README.md | 534 +++--------------- create_missing_notes.sh | 154 +++++ src/notes/001_two_sum.md | 22 + src/notes/002_add_two_numbers.md | 22 + ..._substring_without_repeating_characters.md | 22 + src/notes/004_median_of_two_sorted_arrays.md | 22 + .../005_longest_palindromic_substring.md | 22 + src/notes/006_zigzag_conversion.md | 22 + src/notes/007_reverse_integer.md | 22 + src/notes/009_palindrome_number.md | 22 + src/notes/010_regular_expression_matching.md | 22 + src/notes/011_container_with_most_water.md | 22 + src/notes/013_roman_to_integer.md | 22 + src/notes/014_longest_common_prefix.md | 22 + src/notes/015_3sum.md | 22 + src/notes/020_valid_parentheses.md | 22 + src/notes/021_merge_two_sorted_lists.md | 22 + src/notes/022_generate_parentheses.md | 22 + ...dex_of_the_first_occurrence_in_a_string.md | 22 + src/notes/035_search_insert_position.md | 22 + src/notes/036_valid_sudoku.md | 22 + src/notes/042_trapping_rain_water.md | 22 + src/notes/045_jump_game_ii.md | 22 + src/notes/050_powx_n.md | 22 + src/notes/055_jump_game.md | 22 + src/notes/066_plus_one.md | 22 + src/notes/069_sqrtx.md | 22 + src/notes/074_search_a_2d_matrix.md | 22 + ..._remove_duplicates_from_sorted_array_ii.md | 22 + src/notes/088_merge_sorted_array.md | 22 + src/notes/089_gray_code.md | 22 + src/notes/090_subsets_ii.md | 22 + src/notes/091_decode_ways.md | 22 + src/notes/092_reverse_linked_list_ii.md | 22 + src/notes/1200_minimum_absolute_difference.md | 22 + .../121_best_time_to_buy_and_sell_stock.md | 22 + .../122_best_time_to_buy_and_sell_stock_ii.md | 22 + src/notes/125_valid_palindrome.md | 22 + src/notes/128_longest_consecutive_sequence.md | 22 + ..._maximum_candies_you_can_get_from_boxes.md | 22 + src/notes/135_candy.md | 22 + src/notes/141_linked_list_cycle.md | 22 + src/notes/149_max_points_on_a_line.md | 22 + .../150_evaluate_reverse_polish_notation.md | 22 + ...53_find_minimum_in_rotated_sorted_array.md | 22 + src/notes/155_min_stack.md | 22 + .../167_two_sum_ii__input_array_is_sorted.md | 22 + src/notes/169_majority_element.md | 22 + src/notes/172_factorial_trailing_zeroes.md | 22 + ..._maximum_number_of_accepted_invitations.md | 22 + src/notes/189_rotate_array.md | 22 + src/notes/202_happy_number.md | 22 + ...h_smallest_product_of_two_sorted_arrays.md | 22 + .../2053_kth_distinct_string_in_an_array.md | 22 + src/notes/205_isomorphic_strings.md | 22 + src/notes/206_reverse_linked_list.md | 22 + ...ck_if_a_parentheses_string_can_be_valid.md | 22 + src/notes/217_contains_duplicate.md | 22 + src/notes/219_contains_duplicate_ii.md | 22 + src/notes/228_summary_ranges.md | 22 + ...array_such_that_maximum_difference_is_k.md | 22 + src/notes/238_product_of_array_except_self.md | 22 + src/notes/242_valid_anagram.md | 22 + src/notes/243_shortest_word_distance.md | 22 + ...e_integer_that_exists_with_its_negative.md | 22 + src/notes/244_shortest_word_distance_ii.md | 22 + src/notes/245_shortest_word_distance_iii.md | 22 + src/notes/246_strobogrammatic_number.md | 22 + src/notes/248_strobogrammatic_number_iii.md | 22 + ...inimize_the_maximum_difference_of_pairs.md | 22 + src/notes/290_word_pattern.md | 22 + ...e_array_into_arrays_with_max_difference.md | 22 + ...erence_between_even_and_odd_frequency_i.md | 22 + ...rence_between_even_and_odd_frequency_ii.md | 22 + src/notes/383_ransom_note.md | 22 + src/notes/392_is_subsequence.md | 22 + src/notes/704_binary_search.md | 22 + src/notes/875_koko_eating_bananas.md | 22 + ...90_satisfiability_of_equality_equations.md | 22 + 79 files changed, 1941 insertions(+), 441 deletions(-) create mode 100755 create_missing_notes.sh create mode 100644 src/notes/001_two_sum.md create mode 100644 src/notes/002_add_two_numbers.md create mode 100644 src/notes/003_longest_substring_without_repeating_characters.md create mode 100644 src/notes/004_median_of_two_sorted_arrays.md create mode 100644 src/notes/005_longest_palindromic_substring.md create mode 100644 src/notes/006_zigzag_conversion.md create mode 100644 src/notes/007_reverse_integer.md create mode 100644 src/notes/009_palindrome_number.md create mode 100644 src/notes/010_regular_expression_matching.md create mode 100644 src/notes/011_container_with_most_water.md create mode 100644 src/notes/013_roman_to_integer.md create mode 100644 src/notes/014_longest_common_prefix.md create mode 100644 src/notes/015_3sum.md create mode 100644 src/notes/020_valid_parentheses.md create mode 100644 src/notes/021_merge_two_sorted_lists.md create mode 100644 src/notes/022_generate_parentheses.md create mode 100644 src/notes/028_find_the_index_of_the_first_occurrence_in_a_string.md create mode 100644 src/notes/035_search_insert_position.md create mode 100644 src/notes/036_valid_sudoku.md create mode 100644 src/notes/042_trapping_rain_water.md create mode 100644 src/notes/045_jump_game_ii.md create mode 100644 src/notes/050_powx_n.md create mode 100644 src/notes/055_jump_game.md create mode 100644 src/notes/066_plus_one.md create mode 100644 src/notes/069_sqrtx.md create mode 100644 src/notes/074_search_a_2d_matrix.md create mode 100644 src/notes/080_remove_duplicates_from_sorted_array_ii.md create mode 100644 src/notes/088_merge_sorted_array.md create mode 100644 src/notes/089_gray_code.md create mode 100644 src/notes/090_subsets_ii.md create mode 100644 src/notes/091_decode_ways.md create mode 100644 src/notes/092_reverse_linked_list_ii.md create mode 100644 src/notes/1200_minimum_absolute_difference.md create mode 100644 src/notes/121_best_time_to_buy_and_sell_stock.md create mode 100644 src/notes/122_best_time_to_buy_and_sell_stock_ii.md create mode 100644 src/notes/125_valid_palindrome.md create mode 100644 src/notes/128_longest_consecutive_sequence.md create mode 100644 src/notes/1298_maximum_candies_you_can_get_from_boxes.md create mode 100644 src/notes/135_candy.md create mode 100644 src/notes/141_linked_list_cycle.md create mode 100644 src/notes/149_max_points_on_a_line.md create mode 100644 src/notes/150_evaluate_reverse_polish_notation.md create mode 100644 src/notes/153_find_minimum_in_rotated_sorted_array.md create mode 100644 src/notes/155_min_stack.md create mode 100644 src/notes/167_two_sum_ii__input_array_is_sorted.md create mode 100644 src/notes/169_majority_element.md create mode 100644 src/notes/172_factorial_trailing_zeroes.md create mode 100644 src/notes/1820_maximum_number_of_accepted_invitations.md create mode 100644 src/notes/189_rotate_array.md create mode 100644 src/notes/202_happy_number.md create mode 100644 src/notes/2040_kth_smallest_product_of_two_sorted_arrays.md create mode 100644 src/notes/2053_kth_distinct_string_in_an_array.md create mode 100644 src/notes/205_isomorphic_strings.md create mode 100644 src/notes/206_reverse_linked_list.md create mode 100644 src/notes/2116_check_if_a_parentheses_string_can_be_valid.md create mode 100644 src/notes/217_contains_duplicate.md create mode 100644 src/notes/219_contains_duplicate_ii.md create mode 100644 src/notes/228_summary_ranges.md create mode 100644 src/notes/2294_partition_array_such_that_maximum_difference_is_k.md create mode 100644 src/notes/238_product_of_array_except_self.md create mode 100644 src/notes/242_valid_anagram.md create mode 100644 src/notes/243_shortest_word_distance.md create mode 100644 src/notes/2441_largest_positive_integer_that_exists_with_its_negative.md create mode 100644 src/notes/244_shortest_word_distance_ii.md create mode 100644 src/notes/245_shortest_word_distance_iii.md create mode 100644 src/notes/246_strobogrammatic_number.md create mode 100644 src/notes/248_strobogrammatic_number_iii.md create mode 100644 src/notes/2616_minimize_the_maximum_difference_of_pairs.md create mode 100644 src/notes/290_word_pattern.md create mode 100644 src/notes/2966_divide_array_into_arrays_with_max_difference.md create mode 100644 src/notes/3442_maximum_difference_between_even_and_odd_frequency_i.md create mode 100644 src/notes/3445_maximum_difference_between_even_and_odd_frequency_ii.md create mode 100644 src/notes/383_ransom_note.md create mode 100644 src/notes/392_is_subsequence.md create mode 100644 src/notes/704_binary_search.md create mode 100644 src/notes/875_koko_eating_bananas.md create mode 100644 src/notes/990_satisfiability_of_equality_equations.md diff --git a/README.md b/README.md index 35a6823..fe043f7 100644 --- a/README.md +++ b/README.md @@ -1,453 +1,105 @@ -# LeetCode Solutions +# 🧠 LeetCode Practice by CarGDev -## 🧠 Why This Repository Exists +This repo tracks my journey solving LeetCode problems — not just code, but my thought process, reflections, and patterns I'm mastering. -I'm practicing to master data structures, algorithms, and problem-solving patterns. This repository serves as my personal learning journey through LeetCode problems, helping me: +## ✅ Progress +- **Total Problems Solved**: 75+ +- **Notes Written**: 1+ (expanding soon) +- **Categories Covered**: Arrays, Hash Maps, Dynamic Programming, Two Pointers, Binary Search, etc. -- **Build algorithmic thinking** and problem-solving skills -- **Master fundamental data structures** (arrays, linked lists, trees, graphs, etc.) -- **Learn advanced algorithms** (dynamic programming, binary search, two pointers, etc.) -- **Track my progress** and identify areas for improvement -- **Create a reference library** of solutions for future review +## 🗂 Directory Structure +- `src/exercises/`: Auto-downloaded solutions via Cursor +- `src/notes/`: My personal notes, approaches, and learning reflections -## ✅ Progress Overview +## 🧩 Problem Index -### Current Status -- **Problems Solved**: 90+ / 2000+ (LeetCode total) -- **Success Rate**: ~95% -- **Streak**: Active daily practice -- **Languages**: Python (primary), TypeScript (secondary) +| # | Title | Difficulty | Notes | +|---|-------|------------|-------| +| 001 | Two Sum | Easy | [View Notes](src/notes/001_two_sum.md) | +| 002 | Add Two Numbers | Medium | [View Notes](src/notes/002_add_two_numbers.md) | +| 003 | Longest Substring Without Repeating Characters | Medium | [View Notes](src/notes/003_longest_substring_without_repeating_characters.md) | +| 004 | Median of Two Sorted Arrays | Hard | [View Notes](src/notes/004_median_of_two_sorted_arrays.md) | +| 005 | Longest Palindromic Substring | Medium | [View Notes](src/notes/005_longest_palindromic_substring.md) | +| 006 | Zigzag Conversion | Medium | [View Notes](src/notes/006_zigzag_conversion.md) | +| 007 | Reverse Integer | Medium | [View Notes](src/notes/007_reverse_integer.md) | +| 009 | Palindrome Number | Easy | [View Notes](src/notes/009_palindrome_number.md) | +| 010 | Regular Expression Matching | Hard | [View Notes](src/notes/010_regular_expression_matching.md) | +| 011 | Container With Most Water | Medium | [View Notes](src/notes/011_container_with_most_water.md) | +| 013 | Roman to Integer | Easy | [View Notes](src/notes/013_roman_to_integer.md) | +| 014 | Longest Common Prefix | Easy | [View Notes](src/notes/014_longest_common_prefix.md) | +| 015 | 3Sum | Medium | [View Notes](src/notes/015_3sum.md) | +| 020 | Valid Parentheses | Easy | [View Notes](src/notes/020_valid_parentheses.md) | +| 021 | Merge Two Sorted Lists | Easy | [View Notes](src/notes/021_merge_two_sorted_lists.md) | +| 022 | Generate Parentheses | Medium | [View Notes](src/notes/022_generate_parentheses.md) | +| 028 | Find the Index of the First Occurrence in a String | Easy | [View Notes](src/notes/028_find_the_index_of_the_first_occurrence_in_a_string.md) | +| 035 | Search Insert Position | Easy | [View Notes](src/notes/035_search_insert_position.md) | +| 036 | Valid Sudoku | Medium | [View Notes](src/notes/036_valid_sudoku.md) | +| 042 | Trapping Rain Water | Hard | [View Notes](src/notes/042_trapping_rain_water.md) | +| 045 | Jump Game II | Medium | [View Notes](src/notes/045_jump_game_ii.md) | +| 050 | Pow(x, n) | Medium | [View Notes](src/notes/050_powx_n.md) | +| 055 | Jump Game | Medium | [View Notes](src/notes/055_jump_game.md) | +| 066 | Plus One | Easy | [View Notes](src/notes/066_plus_one.md) | +| 069 | Sqrt(x) | Easy | [View Notes](src/notes/069_sqrtx.md) | +| 074 | Search a 2D Matrix | Medium | [View Notes](src/notes/074_search_a_2d_matrix.md) | +| 080 | Remove Duplicates from Sorted Array II | Medium | [View Notes](src/notes/080_remove_duplicates_from_sorted_array_ii.md) | +| 088 | Merge Sorted Array | Easy | [View Notes](src/notes/088_merge_sorted_array.md) | +| 089 | Gray Code | Medium | [View Notes](src/notes/089_gray_code.md) | +| 090 | Subsets II | Medium | [View Notes](src/notes/090_subsets_ii.md) | +| 091 | Decode Ways | Medium | [View Notes](src/notes/091_decode_ways.md) | +| 092 | Reverse Linked List II | Medium | [View Notes](src/notes/092_reverse_linked_list_ii.md) | +| 121 | Best Time to Buy and Sell Stock | Easy | [View Notes](src/notes/121_best_time_to_buy_and_sell_stock.md) | +| 122 | Best Time to Buy and Sell Stock II | Medium | [View Notes](src/notes/122_best_time_to_buy_and_sell_stock_ii.md) | +| 125 | Valid Palindrome | Easy | [View Notes](src/notes/125_valid_palindrome.md) | +| 128 | Longest Consecutive Sequence | Medium | [View Notes](src/notes/128_longest_consecutive_sequence.md) | +| 135 | Candy | Hard | [View Notes](src/notes/135_candy.md) | +| 141 | Linked List Cycle | Easy | [View Notes](src/notes/141_linked_list_cycle.md) | +| 149 | Max Points on a Line | Hard | [View Notes](src/notes/149_max_points_on_a_line.md) | +| 150 | Evaluate Reverse Polish Notation | Medium | [View Notes](src/notes/150_evaluate_reverse_polish_notation.md) | +| 153 | Find Minimum in Rotated Sorted Array | Medium | [View Notes](src/notes/153_find_minimum_in_rotated_sorted_array.md) | +| 155 | Min Stack | Medium | [View Notes](src/notes/155_min_stack.md) | +| 167 | Two Sum II - Input Array Is Sorted | Medium | [View Notes](src/notes/167_two_sum_ii_input_array_is_sorted.md) | +| 169 | Majority Element | Easy | [View Notes](src/notes/169_majority_element.md) | +| 172 | Factorial Trailing Zeroes | Medium | [View Notes](src/notes/172_factorial_trailing_zeroes.md) | +| 189 | Rotate Array | Medium | [View Notes](src/notes/189_rotate_array.md) | +| 202 | Happy Number | Easy | [View Notes](src/notes/202_happy_number.md) | +| 205 | Isomorphic Strings | Easy | [View Notes](src/notes/205_isomorphic_strings.md) | +| 206 | Reverse Linked List | Easy | [View Notes](src/notes/206_reverse_linked_list.md) | +| 217 | Contains Duplicate | Easy | [View Notes](src/notes/217_contains_duplicate.md) | +| 219 | Contains Duplicate II | Easy | [View Notes](src/notes/219_contains_duplicate_ii.md) | +| 228 | Summary Ranges | Easy | [View Notes](src/notes/228_summary_ranges.md) | +| 238 | Product of Array Except Self | Medium | [View Notes](src/notes/238_product_of_array_except_self.md) | +| 242 | Valid Anagram | Easy | [View Notes](src/notes/242_valid_anagram.md) | +| 243 | Shortest Word Distance | Easy | [View Notes](src/notes/243_shortest_word_distance.md) | +| 244 | Shortest Word Distance II | Medium | [View Notes](src/notes/244_shortest_word_distance_ii.md) | +| 245 | Shortest Word Distance III | Medium | [View Notes](src/notes/245_shortest_word_distance_iii.md) | +| 246 | Strobogrammatic Number | Easy | [View Notes](src/notes/246_strobogrammatic_number.md) | +| 248 | Strobogrammatic Number III | Hard | [View Notes](src/notes/248_strobogrammatic_number_iii.md) | +| 290 | Word Pattern | Easy | [View Notes](src/notes/290_word_pattern.md) | +| 383 | Ransom Note | Easy | [View Notes](src/notes/383_ransom_note.md) | +| 392 | Is Subsequence | Easy | [View Notes](src/notes/392_is_subsequence.md) | +| 704 | Binary Search | Easy | [View Notes](src/notes/704_binary_search.md) | +| 875 | Koko Eating Bananas | Medium | [View Notes](src/notes/875_koko_eating_bananas.md) | +| 990 | Satisfiability of Equality Equations | Medium | [View Notes](src/notes/990_satisfiability_of_equality_equations.md) | +| 1200 | Minimum Absolute Difference | Easy | [View Notes](src/notes/1200_minimum_absolute_difference.md) | +| 1298 | Maximum Candies You Can Get from Boxes | Medium | [View Notes](src/notes/1298_maximum_candies_you_can_get_from_boxes.md) | +| 1820 | Maximum Number of Accepted Invitations | Medium | [View Notes](src/notes/1820_maximum_number_of_accepted_invitations.md) | +| 2040 | Kth Smallest Product of Two Sorted Arrays | Medium | [View Notes](src/notes/2040_kth_smallest_product_of_two_sorted_arrays.md) | +| 2053 | Kth Distinct String in an Array | Easy | [View Notes](src/notes/2053_kth_distinct_string_in_an_array.md) | +| 2116 | Check if a Parentheses String Can Be Valid | Medium | [View Notes](src/notes/2116_check_if_a_parentheses_string_can_be_valid.md) | +| 2294 | Partition Array Such That Maximum Difference Is K | Medium | [View Notes](src/notes/2294_partition_array_such_that_maximum_difference_is_k.md) | +| 2441 | Largest Positive Integer That Exists With Its Negative | Easy | [View Notes](src/notes/2441_largest_positive_integer_that_exists_with_its_negative.md) | +| 2616 | Minimize the Maximum Difference of Pairs | Medium | [View Notes](src/notes/2616_minimize_the_maximum_difference_of_pairs.md) | +| 2966 | Divide Array Into Arrays With Max Difference | Medium | [View Notes](src/notes/2966_divide_array_into_arrays_with_max_difference.md) | +| 3442 | Maximum Difference Between Even and Odd Frequency I | Easy | [View Notes](src/notes/3442_maximum_difference_between_even_and_odd_frequency_i.md) | +| 3445 | Maximum Difference Between Even and Odd Frequency II | Easy | [View Notes](src/notes/3445_maximum_difference_between_even_and_odd_frequency_ii.md) | -### Difficulty Breakdown -| Difficulty | Count | Percentage | -|------------|-------|------------| -| 🟢 Easy | ~40 | 44% | -| 🟡 Medium | ~45 | 50% | -| 🔴 Hard | ~5 | 6% | - -### Recent Activity -- **Last Solved**: Multiple problems this week -- **Focus Areas**: Dynamic Programming, Graph Algorithms -- **Next Goals**: Advanced tree problems, system design concepts - -## 🧩 Topics Covered - -### ✅ Mastered -- **Arrays & Strings** - Two pointers, sliding window, prefix sums -- **Hash Tables** - Lookup optimization, frequency counting -- **Binary Search** - Standard and rotated array variations -- **Two Pointers** - Array manipulation, linked list operations -- **Basic Dynamic Programming** - Memoization, tabulation - -### 🔄 In Progress -- **Advanced DP** - State compression, optimization techniques -- **Graph Algorithms** - BFS, DFS, topological sorting -- **Tree Structures** - Binary trees, BST operations -- **Advanced Data Structures** - Heaps, Tries, Union-Find - -### 📚 Planned -- **System Design** - Scalability, distributed systems -- **Advanced Algorithms** - Segment trees, advanced graph algorithms -- **Competitive Programming** - Advanced optimization techniques - -## 📋 Problem Checklist - -### Core Data Structures -| Topic | Easy | Medium | Hard | Total | -|-------|------|--------|------|-------| -| **Arrays** | 15 | 20 | 2 | 37 | -| **Strings** | 8 | 12 | 1 | 21 | -| **Linked Lists** | 1 | 4 | 0 | 5 | -| **Trees** | 0 | 0 | 0 | 0 | -| **Graphs** | 0 | 2 | 0 | 2 | -| **Stacks/Queues** | 2 | 3 | 0 | 5 | - -### Algorithmic Techniques -| Technique | Easy | Medium | Hard | Total | -|-----------|------|--------|------|-------| -| **Hash Tables** | 8 | 12 | 0 | 20 | -| **Two Pointers** | 6 | 15 | 0 | 21 | -| **Binary Search** | 2 | 8 | 0 | 10 | -| **Dynamic Programming** | 0 | 8 | 0 | 8 | -| **Greedy** | 0 | 6 | 0 | 6 | -| **Backtracking** | 0 | 3 | 0 | 3 | -| **Sliding Window** | 1 | 1 | 0 | 2 | - -### Problem Categories -| Category | Count | Mastery Level | -|----------|-------|---------------| -| **Array Manipulation** | 25 | ⭐⭐⭐⭐⭐ | -| **String Processing** | 18 | ⭐⭐⭐⭐ | -| **Hash Table Usage** | 20 | ⭐⭐⭐⭐⭐ | -| **Binary Search** | 10 | ⭐⭐⭐⭐ | -| **Dynamic Programming** | 8 | ⭐⭐⭐ | -| **Two Pointers** | 21 | ⭐⭐⭐⭐⭐ | -| **Linked Lists** | 5 | ⭐⭐⭐ | -| **Graphs** | 2 | ⭐⭐ | -| **Stacks/Queues** | 5 | ⭐⭐⭐ | - -## 🎯 Learning Roadmap - -### Phase 1: Fundamentals ✅ -- [x] Basic array operations -- [x] String manipulation -- [x] Hash table implementations -- [x] Two pointer techniques -- [x] Basic binary search - -### Phase 2: Intermediate 🔄 -- [x] Dynamic programming basics -- [x] Linked list operations -- [x] Stack and queue problems -- [x] Greedy algorithms -- [ ] Tree traversal algorithms -- [ ] Graph basics (BFS/DFS) - -### Phase 3: Advanced 📚 -- [ ] Advanced DP techniques -- [ ] Advanced tree structures -- [ ] Graph algorithms -- [ ] System design concepts -- [ ] Competitive programming - -### Phase 4: Mastery 🏆 -- [ ] Advanced optimization -- [ ] Algorithm design -- [ ] Interview preparation -- [ ] Teaching others - ---- - -This repository contains my solutions to various LeetCode problems. Each solution is implemented in Python and follows a consistent structure. - -## 📊 Statistics -- **Total Problems Solved**: 90+ -- **Languages**: Python, TypeScript -- **Difficulty Distribution**: Easy, Medium, Hard - -## 📁 Solutions Index - -### 🔢 Arrays & Strings - -#### Easy -- [1. Two Sum](src/exercises/1.two-sum.py) - Hash Table, Array -- [9. Palindrome Number](src/exercises/9.palindrome-number.py) - Math -- [13. Roman to Integer](src/exercises/13.roman-to-integer.py) - Hash Table, Math, String -- [14. Longest Common Prefix](src/exercises/14.longest-common-prefix.py) - String, Trie -- [20. Valid Parentheses](src/exercises/20.valid-parentheses.py) - Stack, String -- [21. Merge Two Sorted Lists](src/exercises/21.merge-two-sorted-lists.py) - Linked List, Recursion -- [26. Remove Duplicates from Sorted Array](src/exercises/80.remove-duplicates-from-sorted-array-ii.py) - Array, Two Pointers -- [27. Remove Element](src/exercises/80.remove-duplicates-from-sorted-array-ii.py) - Array, Two Pointers -- [28. Find the Index of the First Occurrence in a String](src/exercises/28.find-the-index-of-the-first-occurrence-in-a-string.py) - String, Two Pointers -- [35. Search Insert Position](src/exercises/35.search-insert-position.py) - Array, Binary Search -- [66. Plus One](src/exercises/66.plus-one.py) - Array, Math -- [69. Sqrt(x)](src/exercises/69.sqrtx.py) - Math, Binary Search -- [88. Merge Sorted Array](src/exercises/88.merge-sorted-array.py) - Array, Two Pointers -- [125. Valid Palindrome](src/exercises/125.valid-palindrome.py) - String, Two Pointers -- [169. Majority Element](src/exercises/169.majority-element.py) - Array, Hash Table, Divide and Conquer -- [202. Happy Number](src/exercises/202.happy-number.py) - Hash Table, Math, Two Pointers -- [205. Isomorphic Strings](src/exercises/205.isomorphic-strings.py) - Hash Table, String -- [217. Contains Duplicate](src/exercises/217.contains-duplicate.py) - Array, Hash Table, Sorting -- [219. Contains Duplicate II](src/exercises/219.contains-duplicate-ii.py) - Array, Hash Table, Sliding Window -- [242. Valid Anagram](src/exercises/242.valid-anagram.py) - String, Sorting, Hash Table -- [290. Word Pattern](src/exercises/290.word-pattern.py) - Hash Table, String -- [383. Ransom Note](src/exercises/383.ransom-note.py) - String, Hash Table, Counting -- [392. Is Subsequence](src/exercises/392.is-subsequence.py) - String, Two Pointers, Dynamic Programming -- [704. Binary Search](src/exercises/704.binary-search.py) - Array, Binary Search -- [1200. Minimum Absolute Difference](src/exercises/1200.minimum-absolute-difference.py) - Array, Sorting -- [2053. Kth Distinct String in an Array](src/exercises/2053.kth-distinct-string-in-an-array.py) - Array, Hash Table, String -- [2441. Largest Positive Integer That Exists With Its Negative](src/exercises/2441.largest-positive-integer-that-exists-with-its-negative.py) - Array, Hash Table, Two Pointers - -#### Medium -- [2. Add Two Numbers](src/exercises/2.add-two-numbers.py) - Linked List, Math, Recursion -- [3. Longest Substring Without Repeating Characters](src/exercises/3.longest-substring-without-repeating-characters.py) - Hash Table, String, Sliding Window -- [3. Longest Substring Without Repeating Characters (TypeScript)](src/exercises/3.longest-substring-without-repeating-characters.ts) - Hash Table, String, Sliding Window -- [4. Median of Two Sorted Arrays](src/exercises/4.median-of-two-sorted-arrays.py) - Array, Binary Search, Divide and Conquer -- [5. Longest Palindromic Substring](src/exercises/5.longest-palindromic-substring.py) - String, Dynamic Programming -- [6. Zigzag Conversion](src/exercises/6.zigzag-conversion.py) - String -- [7. Reverse Integer](src/exercises/7.reverse-integer.py) - Math -- [10. Regular Expression Matching](src/exercises/10.regular-expression-matching.py) - String, Dynamic Programming, Recursion -- [11. Container With Most Water](src/exercises/11.container-with-most-water.py) - Array, Two Pointers, Greedy -- [15. 3Sum](src/exercises/15.3sum.py) - Array, Two Pointers, Sorting -- [22. Generate Parentheses](src/exercises/22.generate-parentheses.py) - String, Dynamic Programming, Backtracking -- [36. Valid Sudoku](src/exercises/36.valid-sudoku.py) - Array, Hash Table, Matrix -- [42. Trapping Rain Water](src/exercises/42.trapping-rain-water.py) - Array, Two Pointers, Dynamic Programming, Stack -- [45. Jump Game II](src/exercises/45.jump-game-ii.py) - Array, Dynamic Programming, Greedy -- [50. Pow(x, n)](src/exercises/50.powx-n.py) - Math, Recursion -- [55. Jump Game](src/exercises/55.jump-game.py) - Array, Dynamic Programming, Greedy -- [74. Search a 2D Matrix](src/exercises/74.search-a-2d-matrix.py) - Array, Binary Search, Matrix -- [80. Remove Duplicates from Sorted Array II](src/exercises/80.remove-duplicates-from-sorted-array-ii.py) - Array, Two Pointers -- [89. Gray Code](src/exercises/89.gray-code.py) - Math, Backtracking, Bit Manipulation -- [90. Subsets II](src/exercises/90.subsets-ii.py) - Array, Backtracking, Bit Manipulation -- [91. Decode Ways](src/exercises/91.decode-ways.py) - String, Dynamic Programming -- [92. Reverse Linked List II](src/exercises/92.reverse-linked-list-ii.py) - Linked List -- [121. Best Time to Buy and Sell Stock](src/exercises/121.best-time-to-buy-and-sell-stock.py) - Array, Dynamic Programming -- [122. Best Time to Buy and Sell Stock II](src/exercises/122.best-time-to-buy-and-sell-stock-ii.py) - Array, Dynamic Programming, Greedy -- [128. Longest Consecutive Sequence](src/exercises/128.longest-consecutive-sequence.py) - Array, Hash Table, Union Find -- [135. Candy](src/exercises/135.candy.py) - Array, Greedy -- [141. Linked List Cycle](src/exercises/141.linked-list-cycle.py) - Hash Table, Linked List, Two Pointers -- [149. Max Points on a Line](src/exercises/149.max-points-on-a-line.py) - Array, Hash Table, Math, Geometry -- [150. Evaluate Reverse Polish Notation](src/exercises/150.evaluate-reverse-polish-notation.py) - Array, Math, Stack -- [153. Find Minimum in Rotated Sorted Array](src/exercises/153.find-minimum-in-rotated-sorted-array.py) - Array, Binary Search -- [155. Min Stack](src/exercises/155.min-stack.py) - Stack, Design -- [167. Two Sum II - Input Array Is Sorted](src/exercises/167.two-sum-ii-input-array-is-sorted.py) - Array, Two Pointers, Binary Search -- [172. Factorial Trailing Zeroes](src/exercises/172.factorial-trailing-zeroes.py) - Math -- [189. Rotate Array](src/exercises/189.rotate-array.py) - Array, Math, Two Pointers -- [206. Reverse Linked List](src/exercises/206.reverse-linked-list.py) - Linked List, Recursion -- [228. Summary Ranges](src/exercises/228.summary-ranges.py) - Array -- [238. Product of Array Except Self](src/exercises/238.product-of-array-except-self.py) - Array, Prefix Sum -- [246. Strobogrammatic Number](src/exercises/246.strobogrammatic-number.py) - Hash Table, Two Pointers, String -- [248. Strobogrammatic Number III](src/exercises/248.strobogrammatic-number-iii.py) - Math, Recursion -- [243. Shortest Word Distance](src/exercises/243.shortest-word-distance.py) - Array, String -- [244. Shortest Word Distance II](src/exercises/244.shortest-word-distance-ii.py) - Array, Hash Table, Design, Two Pointers -- [245. Shortest Word Distance III](src/exercises/245.shortest-word-distance-iii.py) - Array, String -- [875. Koko Eating Bananas](src/exercises/875.koko-eating-bananas.py) - Array, Binary Search -- [990. Satisfiability of Equality Equations](src/exercises/990.satisfiability-of-equality-equations.py) - Array, Union Find, Graph -- [1298. Maximum Candies You Can Get from Boxes](src/exercises/1298.maximum-candies-you-can-get-from-boxes.py) - Breadth-First Search, Array -- [1820. Maximum Number of Accepted Invitations](src/exercises/1820.maximum-number-of-accepted-invitations.py) - Graph, Backtracking -- [2040. Kth Smallest Product of Two Sorted Arrays](src/exercises/2040.kth-smallest-product-of-two-sorted-arrays.py) - Array, Binary Search -- [2116. Check if a Parentheses String Can Be Valid](src/exercises/2116.check-if-a-parentheses-string-can-be-valid.py) - String, Stack, Greedy -- [2294. Partition Array Such That Maximum Difference Is K](src/exercises/2294.partition-array-such-that-maximum-difference-is-k.py) - Array, Greedy, Sorting -- [2616. Minimize the Maximum Difference of Pairs](src/exercises/2616.minimize-the-maximum-difference-of-pairs.py) - Array, Binary Search, Greedy -- [2966. Divide Array Into Arrays With Max Difference](src/exercises/2966.divide-array-into-arrays-with-max-difference.py) - Array, Greedy, Sorting -- [3442. Maximum Difference Between Even and Odd Frequency I](src/exercises/3442.maximum-difference-between-even-and-odd-frequency-i.py) - Array, Hash Table -- [3445. Maximum Difference Between Even and Odd Frequency II](src/exercises/3445.maximum-difference-between-even-and-odd-frequency-ii.py) - Array, Hash Table - -### 🔗 Linked Lists -- [2. Add Two Numbers](src/exercises/2.add-two-numbers.py) - Linked List, Math, Recursion -- [21. Merge Two Sorted Lists](src/exercises/21.merge-two-sorted-lists.py) - Linked List, Recursion -- [92. Reverse Linked List II](src/exercises/92.reverse-linked-list-ii.py) - Linked List -- [141. Linked List Cycle](src/exercises/141.linked-list-cycle.py) - Hash Table, Linked List, Two Pointers -- [206. Reverse Linked List](src/exercises/206.reverse-linked-list.py) - Linked List, Recursion - -### 🌳 Trees & Graphs -- [1298. Maximum Candies You Can Get from Boxes](src/exercises/1298.maximum-candies-you-can-get-from-boxes.py) - Breadth-First Search, Array -- [1820. Maximum Number of Accepted Invitations](src/exercises/1820.maximum-number-of-accepted-invitations.py) - Graph, Backtracking -- [990. Satisfiability of Equality Equations](src/exercises/990.satisfiability-of-equality-equations.py) - Array, Union Find, Graph - -### 🔍 Binary Search -- [4. Median of Two Sorted Arrays](src/exercises/4.median-of-two-sorted-arrays.py) - Array, Binary Search, Divide and Conquer -- [35. Search Insert Position](src/exercises/35.search-insert-position.py) - Array, Binary Search -- [50. Pow(x, n)](src/exercises/50.powx-n.py) - Math, Recursion -- [69. Sqrt(x)](src/exercises/69.sqrtx.py) - Math, Binary Search -- [74. Search a 2D Matrix](src/exercises/74.search-a-2d-matrix.py) - Array, Binary Search, Matrix -- [153. Find Minimum in Rotated Sorted Array](src/exercises/153.find-minimum-in-rotated-sorted-array.py) - Array, Binary Search -- [167. Two Sum II - Input Array Is Sorted](src/exercises/167.two-sum-ii-input-array-is-sorted.py) - Array, Two Pointers, Binary Search -- [704. Binary Search](src/exercises/704.binary-search.py) - Array, Binary Search -- [875. Koko Eating Bananas](src/exercises/875.koko-eating-bananas.py) - Array, Binary Search -- [2040. Kth Smallest Product of Two Sorted Arrays](src/exercises/2040.kth-smallest-product-of-two-sorted-arrays.py) - Array, Binary Search -- [2616. Minimize the Maximum Difference of Pairs](src/exercises/2616.minimize-the-maximum-difference-of-pairs.py) - Array, Binary Search, Greedy - -### 🧮 Dynamic Programming -- [5. Longest Palindromic Substring](src/exercises/5.longest-palindromic-substring.py) - String, Dynamic Programming -- [10. Regular Expression Matching](src/exercises/10.regular-expression-matching.py) - String, Dynamic Programming, Recursion -- [22. Generate Parentheses](src/exercises/22.generate-parentheses.py) - String, Dynamic Programming, Backtracking -- [42. Trapping Rain Water](src/exercises/42.trapping-rain-water.py) - Array, Two Pointers, Dynamic Programming, Stack -- [45. Jump Game II](src/exercises/45.jump-game-ii.py) - Array, Dynamic Programming, Greedy -- [55. Jump Game](src/exercises/55.jump-game.py) - Array, Dynamic Programming, Greedy -- [91. Decode Ways](src/exercises/91.decode-ways.py) - String, Dynamic Programming -- [121. Best Time to Buy and Sell Stock](src/exercises/121.best-time-to-buy-and-sell-stock.py) - Array, Dynamic Programming -- [122. Best Time to Buy and Sell Stock II](src/exercises/122.best-time-to-buy-and-sell-stock-ii.py) - Array, Dynamic Programming, Greedy -- [128. Longest Consecutive Sequence](src/exercises/128.longest-consecutive-sequence.py) - Array, Hash Table, Union Find -- [135. Candy](src/exercises/135.candy.py) - Array, Greedy -- [392. Is Subsequence](src/exercises/392.is-subsequence.py) - String, Two Pointers, Dynamic Programming - -### 🎯 Two Pointers -- [3. Longest Substring Without Repeating Characters](src/exercises/3.longest-substring-without-repeating-characters.py) - Hash Table, String, Sliding Window -- [11. Container With Most Water](src/exercises/11.container-with-most-water.py) - Array, Two Pointers, Greedy -- [15. 3Sum](src/exercises/15.3sum.py) - Array, Two Pointers, Sorting -- [26. Remove Duplicates from Sorted Array](src/exercises/80.remove-duplicates-from-sorted-array-ii.py) - Array, Two Pointers -- [27. Remove Element](src/exercises/80.remove-duplicates-from-sorted-array-ii.py) - Array, Two Pointers -- [28. Find the Index of the First Occurrence in a String](src/exercises/28.find-the-index-of-the-first-occurrence-in-a-string.py) - String, Two Pointers -- [42. Trapping Rain Water](src/exercises/42.trapping-rain-water.py) - Array, Two Pointers, Dynamic Programming, Stack -- [80. Remove Duplicates from Sorted Array II](src/exercises/80.remove-duplicates-from-sorted-array-ii.py) - Array, Two Pointers -- [88. Merge Sorted Array](src/exercises/88.merge-sorted-array.py) - Array, Two Pointers -- [125. Valid Palindrome](src/exercises/125.valid-palindrome.py) - String, Two Pointers -- [141. Linked List Cycle](src/exercises/141.linked-list-cycle.py) - Hash Table, Linked List, Two Pointers -- [167. Two Sum II - Input Array Is Sorted](src/exercises/167.two-sum-ii-input-array-is-sorted.py) - Array, Two Pointers, Binary Search -- [189. Rotate Array](src/exercises/189.rotate-array.py) - Array, Math, Two Pointers -- [202. Happy Number](src/exercises/202.happy-number.py) - Hash Table, Math, Two Pointers -- [219. Contains Duplicate II](src/exercises/219.contains-duplicate-ii.py) - Array, Hash Table, Sliding Window -- [243. Shortest Word Distance](src/exercises/243.shortest-word-distance.py) - Array, String -- [244. Shortest Word Distance II](src/exercises/244.shortest-word-distance-ii.py) - Array, Hash Table, Design, Two Pointers -- [245. Shortest Word Distance III](src/exercises/245.shortest-word-distance-iii.py) - Array, String -- [246. Strobogrammatic Number](src/exercises/246.strobogrammatic-number.py) - Hash Table, Two Pointers, String -- [392. Is Subsequence](src/exercises/392.is-subsequence.py) - String, Two Pointers, Dynamic Programming -- [2441. Largest Positive Integer That Exists With Its Negative](src/exercises/2441.largest-positive-integer-that-exists-with-its-negative.py) - Array, Hash Table, Two Pointers - -### 🗃️ Hash Tables -- [1. Two Sum](src/exercises/1.two-sum.py) - Hash Table, Array -- [13. Roman to Integer](src/exercises/13.roman-to-integer.py) - Hash Table, Math, String -- [20. Valid Parentheses](src/exercises/20.valid-parentheses.py) - Stack, String -- [36. Valid Sudoku](src/exercises/36.valid-sudoku.py) - Array, Hash Table, Matrix -- [141. Linked List Cycle](src/exercises/141.linked-list-cycle.py) - Hash Table, Linked List, Two Pointers -- [149. Max Points on a Line](src/exercises/149.max-points-on-a-line.py) - Array, Hash Table, Math, Geometry -- [169. Majority Element](src/exercises/169.majority-element.py) - Array, Hash Table, Divide and Conquer -- [202. Happy Number](src/exercises/202.happy-number.py) - Hash Table, Math, Two Pointers -- [205. Isomorphic Strings](src/exercises/205.isomorphic-strings.py) - Hash Table, String -- [217. Contains Duplicate](src/exercises/217.contains-duplicate.py) - Array, Hash Table, Sorting -- [219. Contains Duplicate II](src/exercises/219.contains-duplicate-ii.py) - Array, Hash Table, Sliding Window -- [242. Valid Anagram](src/exercises/242.valid-anagram.py) - String, Sorting, Hash Table -- [243. Shortest Word Distance](src/exercises/243.shortest-word-distance.py) - Array, String -- [244. Shortest Word Distance II](src/exercises/244.shortest-word-distance-ii.py) - Array, Hash Table, Design, Two Pointers -- [246. Strobogrammatic Number](src/exercises/246.strobogrammatic-number.py) - Hash Table, Two Pointers, String -- [290. Word Pattern](src/exercises/290.word-pattern.py) - Hash Table, String -- [383. Ransom Note](src/exercises/383.ransom-note.py) - String, Hash Table, Counting -- [128. Longest Consecutive Sequence](src/exercises/128.longest-consecutive-sequence.py) - Array, Hash Table, Union Find -- [2053. Kth Distinct String in an Array](src/exercises/2053.kth-distinct-string-in-an-array.py) - Array, Hash Table, String -- [2441. Largest Positive Integer That Exists With Its Negative](src/exercises/2441.largest-positive-integer-that-exists-with-its-negative.py) - Array, Hash Table, Two Pointers -- [3442. Maximum Difference Between Even and Odd Frequency I](src/exercises/3442.maximum-difference-between-even-and-odd-frequency-i.py) - Array, Hash Table -- [3445. Maximum Difference Between Even and Odd Frequency II](src/exercises/3445.maximum-difference-between-even-and-odd-frequency-ii.py) - Array, Hash Table - -### 📚 Stacks & Queues -- [20. Valid Parentheses](src/exercises/20.valid-parentheses.py) - Stack, String -- [42. Trapping Rain Water](src/exercises/42.trapping-rain-water.py) - Array, Two Pointers, Dynamic Programming, Stack -- [150. Evaluate Reverse Polish Notation](src/exercises/150.evaluate-reverse-polish-notation.py) - Array, Math, Stack -- [155. Min Stack](src/exercises/155.min-stack.py) - Stack, Design -- [2116. Check if a Parentheses String Can Be Valid](src/exercises/2116.check-if-a-parentheses-string-can-be-valid.py) - String, Stack, Greedy - -### 🔄 Backtracking -- [22. Generate Parentheses](src/exercises/22.generate-parentheses.py) - String, Dynamic Programming, Backtracking -- [89. Gray Code](src/exercises/89.gray-code.py) - Math, Backtracking, Bit Manipulation -- [90. Subsets II](src/exercises/90.subsets-ii.py) - Array, Backtracking, Bit Manipulation -- [1820. Maximum Number of Accepted Invitations](src/exercises/1820.maximum-number-of-accepted-invitations.py) - Graph, Backtracking - -### 🎲 Greedy -- [11. Container With Most Water](src/exercises/11.container-with-most-water.py) - Array, Two Pointers, Greedy -- [45. Jump Game II](src/exercises/45.jump-game-ii.py) - Array, Dynamic Programming, Greedy -- [55. Jump Game](src/exercises/55.jump-game.py) - Array, Dynamic Programming, Greedy -- [122. Best Time to Buy and Sell Stock II](src/exercises/122.best-time-to-buy-and-sell-stock-ii.py) - Array, Dynamic Programming, Greedy -- [135. Candy](src/exercises/135.candy.py) - Array, Greedy -- [2116. Check if a Parentheses String Can Be Valid](src/exercises/2116.check-if-a-parentheses-string-can-be-valid.py) - String, Stack, Greedy -- [2294. Partition Array Such That Maximum Difference Is K](src/exercises/2294.partition-array-such-that-maximum-difference-is-k.py) - Array, Greedy, Sorting -- [2616. Minimize the Maximum Difference of Pairs](src/exercises/2616.minimize-the-maximum-difference-of-pairs.py) - Array, Binary Search, Greedy -- [2966. Divide Array Into Arrays With Max Difference](src/exercises/2966.divide-array-into-arrays-with-max-difference.py) - Array, Greedy, Sorting - -### 🔢 Math -- [7. Reverse Integer](src/exercises/7.reverse-integer.py) - Math -- [9. Palindrome Number](src/exercises/9.palindrome-number.py) - Math -- [13. Roman to Integer](src/exercises/13.roman-to-integer.py) - Hash Table, Math, String -- [50. Pow(x, n)](src/exercises/50.powx-n.py) - Math, Recursion -- [66. Plus One](src/exercises/66.plus-one.py) - Array, Math -- [69. Sqrt(x)](src/exercises/69.sqrtx.py) - Math, Binary Search -- [89. Gray Code](src/exercises/89.gray-code.py) - Math, Backtracking, Bit Manipulation -- [149. Max Points on a Line](src/exercises/149.max-points-on-a-line.py) - Array, Hash Table, Math, Geometry -- [172. Factorial Trailing Zeroes](src/exercises/172.factorial-trailing-zeroes.py) - Math -- [189. Rotate Array](src/exercises/189.rotate-array.py) - Array, Math, Two Pointers -- [202. Happy Number](src/exercises/202.happy-number.py) - Hash Table, Math, Two Pointers -- [150. Evaluate Reverse Polish Notation](src/exercises/150.evaluate-reverse-polish-notation.py) - Array, Math, Stack - -### 🧮 Bit Manipulation -- [89. Gray Code](src/exercises/89.gray-code.py) - Math, Backtracking, Bit Manipulation -- [90. Subsets II](src/exercises/90.subsets-ii.py) - Array, Backtracking, Bit Manipulation - -### 🏗️ Design -- [155. Min Stack](src/exercises/155.min-stack.py) - Stack, Design -- [244. Shortest Word Distance II](src/exercises/244.shortest-word-distance-ii.py) - Array, Hash Table, Design, Two Pointers - -### 🔗 Union Find -- [128. Longest Consecutive Sequence](src/exercises/128.longest-consecutive-sequence.py) - Array, Hash Table, Union Find -- [990. Satisfiability of Equality Equations](src/exercises/990.satisfiability-of-equality-equations.py) - Array, Union Find, Graph - -### 📊 Sorting -- [15. 3Sum](src/exercises/15.3sum.py) - Array, Two Pointers, Sorting -- [80. Remove Duplicates from Sorted Array II](src/exercises/80.remove-duplicates-from-sorted-array-ii.py) - Array, Two Pointers -- [88. Merge Sorted Array](src/exercises/88.merge-sorted-array.py) - Array, Two Pointers -- [1200. Minimum Absolute Difference](src/exercises/1200.minimum-absolute-difference.py) - Array, Sorting -- [217. Contains Duplicate](src/exercises/217.contains-duplicate.py) - Array, Hash Table, Sorting -- [242. Valid Anagram](src/exercises/242.valid-anagram.py) - String, Sorting, Hash Table -- [2294. Partition Array Such That Maximum Difference Is K](src/exercises/2294.partition-array-such-that-maximum-difference-is-k.py) - Array, Greedy, Sorting -- [2966. Divide Array Into Arrays With Max Difference](src/exercises/2966.divide-array-into-arrays-with-max-difference.py) - Array, Greedy, Sorting - -### 🔄 Recursion -- [2. Add Two Numbers](src/exercises/2.add-two-numbers.py) - Linked List, Math, Recursion -- [10. Regular Expression Matching](src/exercises/10.regular-expression-matching.py) - String, Dynamic Programming, Recursion -- [21. Merge Two Sorted Lists](src/exercises/21.merge-two-sorted-lists.py) - Linked List, Recursion -- [22. Generate Parentheses](src/exercises/22.generate-parentheses.py) - String, Dynamic Programming, Backtracking -- [50. Pow(x, n)](src/exercises/50.powx-n.py) - Math, Recursion -- [206. Reverse Linked List](src/exercises/206.reverse-linked-list.py) - Linked List, Recursion -- [248. Strobogrammatic Number III](src/exercises/248.strobogrammatic-number-iii.py) - Math, Recursion - -### 🎯 Sliding Window -- [3. Longest Substring Without Repeating Characters](src/exercises/3.longest-substring-without-repeating-characters.py) - Hash Table, String, Sliding Window -- [219. Contains Duplicate II](src/exercises/219.contains-duplicate-ii.py) - Array, Hash Table, Sliding Window - -### 📐 Geometry -- [149. Max Points on a Line](src/exercises/149.max-points-on-a-line.py) - Array, Hash Table, Math, Geometry - -### 🔍 Divide and Conquer -- [4. Median of Two Sorted Arrays](src/exercises/4.median-of-two-sorted-arrays.py) - Array, Binary Search, Divide and Conquer -- [169. Majority Element](src/exercises/169.majority-element.py) - Array, Hash Table, Divide and Conquer - -### 📝 String Manipulation -- [3. Longest Substring Without Repeating Characters](src/exercises/3.longest-substring-without-repeating-characters.py) - Hash Table, String, Sliding Window -- [5. Longest Palindromic Substring](src/exercises/5.longest-palindromic-substring.py) - String, Dynamic Programming -- [6. Zigzag Conversion](src/exercises/6.zigzag-conversion.py) - String -- [10. Regular Expression Matching](src/exercises/10.regular-expression-matching.py) - String, Dynamic Programming, Recursion -- [13. Roman to Integer](src/exercises/13.roman-to-integer.py) - Hash Table, Math, String -- [14. Longest Common Prefix](src/exercises/14.longest-common-prefix.py) - String, Trie -- [20. Valid Parentheses](src/exercises/20.valid-parentheses.py) - Stack, String -- [22. Generate Parentheses](src/exercises/22.generate-parentheses.py) - String, Dynamic Programming, Backtracking -- [28. Find the Index of the First Occurrence in a String](src/exercises/28.find-the-index-of-the-first-occurrence-in-a-string.py) - String, Two Pointers -- [125. Valid Palindrome](src/exercises/125.valid-palindrome.py) - String, Two Pointers -- [205. Isomorphic Strings](src/exercises/205.isomorphic-strings.py) - Hash Table, String -- [242. Valid Anagram](src/exercises/242.valid-anagram.py) - String, Sorting, Hash Table -- [246. Strobogrammatic Number](src/exercises/246.strobogrammatic-number.py) - Hash Table, Two Pointers, String -- [248. Strobogrammatic Number III](src/exercises/248.strobogrammatic-number-iii.py) - Math, Recursion -- [290. Word Pattern](src/exercises/290.word-pattern.py) - Hash Table, String -- [383. Ransom Note](src/exercises/383.ransom-note.py) - String, Hash Table, Counting -- [392. Is Subsequence](src/exercises/392.is-subsequence.py) - String, Two Pointers, Dynamic Programming -- [91. Decode Ways](src/exercises/91.decode-ways.py) - String, Dynamic Programming -- [2116. Check if a Parentheses String Can Be Valid](src/exercises/2116.check-if-a-parentheses-string-can-be-valid.py) - String, Stack, Greedy - -### 📊 Matrix -- [36. Valid Sudoku](src/exercises/36.valid-sudoku.py) - Array, Hash Table, Matrix -- [74. Search a 2D Matrix](src/exercises/74.search-a-2d-matrix.py) - Array, Binary Search, Matrix - -### 🔢 Counting -- [383. Ransom Note](src/exercises/383.ransom-note.py) - String, Hash Table, Counting - -### 🌐 Breadth-First Search -- [1298. Maximum Candies You Can Get from Boxes](src/exercises/1298.maximum-candies-you-can-get-from-boxes.py) - Breadth-First Search, Array - -## 📈 Progress Tracking - -### Difficulty Distribution -- **Easy**: ~40 problems -- **Medium**: ~45 problems -- **Hard**: ~5 problems - -### Top Problem Types -1. **Arrays & Strings** - Most common -2. **Hash Tables** - Frequently used technique -3. **Two Pointers** - Efficient array manipulation -4. **Binary Search** - Optimization problems -5. **Dynamic Programming** - Complex problem solving - -## 🛠️ Solution Structure - -Each solution follows a consistent structure: -- Standard library imports -- Type hints for better code clarity -- Solution class with required method -- Clean, readable implementation -- Proper comments and documentation - -## 🎯 Learning Focus Areas - -Based on the solutions, key areas of expertise include: -- **Array manipulation** and **two-pointer techniques** -- **Hash table** optimization for lookups -- **Binary search** for efficient searching -- **Dynamic programming** for complex problems -- **String manipulation** and **palindrome problems** -- **Linked list** operations and **cycle detection** +## 🛠️ Tools & Scripts +- `create_missing_notes.sh`: Automatically creates missing note files for solved problems ## 📚 Resources - - [LeetCode Problem Set](https://leetcode.com/problemset/) -- [LeetCode Profile](https://leetcode.com/u/cargdev/) +- [My LeetCode Profile](https://leetcode.com/u/cargdev/) --- -*This index is automatically generated and organized by problem categories and difficulty levels. Each solution includes the relevant tags and techniques used.* \ No newline at end of file +*This repository is a living document of my algorithmic learning journey. Each note captures my thought process, mistakes, and insights.* \ No newline at end of file diff --git a/create_missing_notes.sh b/create_missing_notes.sh new file mode 100755 index 0000000..dfe49be --- /dev/null +++ b/create_missing_notes.sh @@ -0,0 +1,154 @@ +#!/bin/bash + +# LeetCode Notes Generator +# This script creates missing note files for solved problems + +NOTES_DIR="src/notes" +EXERCISES_DIR="src/exercises" + +# Create notes directory if it doesn't exist +mkdir -p "$NOTES_DIR" + +echo "🧠 Generating missing LeetCode problem notes..." + +# Function to convert problem number to 3-digit format +format_problem_number() { + local num=$1 + printf "%03d" $num +} + +# Function to convert title to filename format +title_to_filename() { + echo "$1" | tr ' ' '_' | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9_]//g' +} + +# Function to create note file +create_note_file() { + local problem_num=$1 + local title=$2 + local difficulty=$3 + local filename="$NOTES_DIR/$(format_problem_number $problem_num)_$(title_to_filename "$title").md" + + if [ ! -f "$filename" ]; then + echo "# $title" > "$filename" + echo "" >> "$filename" + echo "**Problem Number:** $problem_num" >> "$filename" + echo "**Difficulty:** $difficulty" >> "$filename" + echo "**Category:** " >> "$filename" + echo "" >> "$filename" + echo "## Problem Description" >> "$filename" + echo "" >> "$filename" + echo "## My Approach" >> "$filename" + echo "" >> "$filename" + echo "## Solution" >> "$filename" + echo "" >> "$filename" + echo "## Time & Space Complexity" >> "$filename" + echo "" >> "$filename" + echo "## Key Insights" >> "$filename" + echo "" >> "$filename" + echo "## Mistakes Made" >> "$filename" + echo "" >> "$filename" + echo "## Related Problems" >> "$filename" + echo "" >> "$filename" + echo "---" >> "$filename" + echo "*Note: This is a work in progress. I'll add more details as I reflect on this problem.*" >> "$filename" + + echo "✅ Created: $filename" + else + echo "⏭️ Skipped: $filename (already exists)" + fi +} + +# Define all solved problems with their details +declare -A problems=( + ["1"]="Two Sum:Easy" + ["2"]="Add Two Numbers:Medium" + ["3"]="Longest Substring Without Repeating Characters:Medium" + ["4"]="Median of Two Sorted Arrays:Hard" + ["5"]="Longest Palindromic Substring:Medium" + ["6"]="Zigzag Conversion:Medium" + ["7"]="Reverse Integer:Medium" + ["9"]="Palindrome Number:Easy" + ["10"]="Regular Expression Matching:Hard" + ["11"]="Container With Most Water:Medium" + ["13"]="Roman to Integer:Easy" + ["14"]="Longest Common Prefix:Easy" + ["15"]="3Sum:Medium" + ["20"]="Valid Parentheses:Easy" + ["21"]="Merge Two Sorted Lists:Easy" + ["22"]="Generate Parentheses:Medium" + ["28"]="Find the Index of the First Occurrence in a String:Easy" + ["35"]="Search Insert Position:Easy" + ["36"]="Valid Sudoku:Medium" + ["42"]="Trapping Rain Water:Hard" + ["45"]="Jump Game II:Medium" + ["50"]="Pow(x, n):Medium" + ["55"]="Jump Game:Medium" + ["66"]="Plus One:Easy" + ["69"]="Sqrt(x):Easy" + ["74"]="Search a 2D Matrix:Medium" + ["80"]="Remove Duplicates from Sorted Array II:Medium" + ["88"]="Merge Sorted Array:Easy" + ["89"]="Gray Code:Medium" + ["90"]="Subsets II:Medium" + ["91"]="Decode Ways:Medium" + ["92"]="Reverse Linked List II:Medium" + ["121"]="Best Time to Buy and Sell Stock:Easy" + ["122"]="Best Time to Buy and Sell Stock II:Medium" + ["125"]="Valid Palindrome:Easy" + ["128"]="Longest Consecutive Sequence:Medium" + ["135"]="Candy:Hard" + ["141"]="Linked List Cycle:Easy" + ["149"]="Max Points on a Line:Hard" + ["150"]="Evaluate Reverse Polish Notation:Medium" + ["153"]="Find Minimum in Rotated Sorted Array:Medium" + ["155"]="Min Stack:Medium" + ["167"]="Two Sum II - Input Array Is Sorted:Medium" + ["169"]="Majority Element:Easy" + ["172"]="Factorial Trailing Zeroes:Medium" + ["189"]="Rotate Array:Medium" + ["202"]="Happy Number:Easy" + ["205"]="Isomorphic Strings:Easy" + ["206"]="Reverse Linked List:Easy" + ["217"]="Contains Duplicate:Easy" + ["219"]="Contains Duplicate II:Easy" + ["228"]="Summary Ranges:Easy" + ["238"]="Product of Array Except Self:Medium" + ["242"]="Valid Anagram:Easy" + ["243"]="Shortest Word Distance:Easy" + ["244"]="Shortest Word Distance II:Medium" + ["245"]="Shortest Word Distance III:Medium" + ["246"]="Strobogrammatic Number:Easy" + ["248"]="Strobogrammatic Number III:Hard" + ["290"]="Word Pattern:Easy" + ["383"]="Ransom Note:Easy" + ["392"]="Is Subsequence:Easy" + ["704"]="Binary Search:Easy" + ["875"]="Koko Eating Bananas:Medium" + ["990"]="Satisfiability of Equality Equations:Medium" + ["1200"]="Minimum Absolute Difference:Easy" + ["1298"]="Maximum Candies You Can Get from Boxes:Medium" + ["1820"]="Maximum Number of Accepted Invitations:Medium" + ["2040"]="Kth Smallest Product of Two Sorted Arrays:Medium" + ["2053"]="Kth Distinct String in an Array:Easy" + ["2116"]="Check if a Parentheses String Can Be Valid:Medium" + ["2294"]="Partition Array Such That Maximum Difference Is K:Medium" + ["2441"]="Largest Positive Integer That Exists With Its Negative:Easy" + ["2616"]="Minimize the Maximum Difference of Pairs:Medium" + ["2966"]="Divide Array Into Arrays With Max Difference:Medium" + ["3442"]="Maximum Difference Between Even and Odd Frequency I:Easy" + ["3445"]="Maximum Difference Between Even and Odd Frequency II:Easy" +) + +# Create note files for all problems +for problem_num in "${!problems[@]}"; do + IFS=':' read -r title difficulty <<< "${problems[$problem_num]}" + create_note_file "$problem_num" "$title" "$difficulty" +done + +echo "" +echo "🎉 Note generation complete!" +echo "📝 Total problems processed: ${#problems[@]}" +echo "📁 Notes directory: $NOTES_DIR" +echo "" +echo "💡 Tip: Run this script whenever you solve new problems to automatically create note templates." \ No newline at end of file diff --git a/src/notes/001_two_sum.md b/src/notes/001_two_sum.md new file mode 100644 index 0000000..dd111f3 --- /dev/null +++ b/src/notes/001_two_sum.md @@ -0,0 +1,22 @@ +# Two Sum + +**Problem Number:** 1 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/002_add_two_numbers.md b/src/notes/002_add_two_numbers.md new file mode 100644 index 0000000..f785f24 --- /dev/null +++ b/src/notes/002_add_two_numbers.md @@ -0,0 +1,22 @@ +# Add Two Numbers + +**Problem Number:** 2 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/003_longest_substring_without_repeating_characters.md b/src/notes/003_longest_substring_without_repeating_characters.md new file mode 100644 index 0000000..ff37681 --- /dev/null +++ b/src/notes/003_longest_substring_without_repeating_characters.md @@ -0,0 +1,22 @@ +# Longest Substring Without Repeating Characters + +**Problem Number:** 3 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/004_median_of_two_sorted_arrays.md b/src/notes/004_median_of_two_sorted_arrays.md new file mode 100644 index 0000000..bf6490b --- /dev/null +++ b/src/notes/004_median_of_two_sorted_arrays.md @@ -0,0 +1,22 @@ +# Median of Two Sorted Arrays + +**Problem Number:** 4 +**Difficulty:** Hard +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/005_longest_palindromic_substring.md b/src/notes/005_longest_palindromic_substring.md new file mode 100644 index 0000000..3c58c3d --- /dev/null +++ b/src/notes/005_longest_palindromic_substring.md @@ -0,0 +1,22 @@ +# Longest Palindromic Substring + +**Problem Number:** 5 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/006_zigzag_conversion.md b/src/notes/006_zigzag_conversion.md new file mode 100644 index 0000000..f60e1f3 --- /dev/null +++ b/src/notes/006_zigzag_conversion.md @@ -0,0 +1,22 @@ +# Zigzag Conversion + +**Problem Number:** 6 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/007_reverse_integer.md b/src/notes/007_reverse_integer.md new file mode 100644 index 0000000..471e79b --- /dev/null +++ b/src/notes/007_reverse_integer.md @@ -0,0 +1,22 @@ +# Reverse Integer + +**Problem Number:** 7 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/009_palindrome_number.md b/src/notes/009_palindrome_number.md new file mode 100644 index 0000000..5600075 --- /dev/null +++ b/src/notes/009_palindrome_number.md @@ -0,0 +1,22 @@ +# Palindrome Number + +**Problem Number:** 9 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/010_regular_expression_matching.md b/src/notes/010_regular_expression_matching.md new file mode 100644 index 0000000..bb8625d --- /dev/null +++ b/src/notes/010_regular_expression_matching.md @@ -0,0 +1,22 @@ +# Regular Expression Matching + +**Problem Number:** 10 +**Difficulty:** Hard +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/011_container_with_most_water.md b/src/notes/011_container_with_most_water.md new file mode 100644 index 0000000..e9c3d53 --- /dev/null +++ b/src/notes/011_container_with_most_water.md @@ -0,0 +1,22 @@ +# Container With Most Water + +**Problem Number:** 11 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/013_roman_to_integer.md b/src/notes/013_roman_to_integer.md new file mode 100644 index 0000000..d10e4a9 --- /dev/null +++ b/src/notes/013_roman_to_integer.md @@ -0,0 +1,22 @@ +# Roman to Integer + +**Problem Number:** 13 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/014_longest_common_prefix.md b/src/notes/014_longest_common_prefix.md new file mode 100644 index 0000000..00546f1 --- /dev/null +++ b/src/notes/014_longest_common_prefix.md @@ -0,0 +1,22 @@ +# Longest Common Prefix + +**Problem Number:** 14 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/015_3sum.md b/src/notes/015_3sum.md new file mode 100644 index 0000000..5e54cb1 --- /dev/null +++ b/src/notes/015_3sum.md @@ -0,0 +1,22 @@ +# 3Sum + +**Problem Number:** 15 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/020_valid_parentheses.md b/src/notes/020_valid_parentheses.md new file mode 100644 index 0000000..aa2b6e9 --- /dev/null +++ b/src/notes/020_valid_parentheses.md @@ -0,0 +1,22 @@ +# Valid Parentheses + +**Problem Number:** 20 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/021_merge_two_sorted_lists.md b/src/notes/021_merge_two_sorted_lists.md new file mode 100644 index 0000000..f3f6918 --- /dev/null +++ b/src/notes/021_merge_two_sorted_lists.md @@ -0,0 +1,22 @@ +# Merge Two Sorted Lists + +**Problem Number:** 21 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/022_generate_parentheses.md b/src/notes/022_generate_parentheses.md new file mode 100644 index 0000000..bf23a0e --- /dev/null +++ b/src/notes/022_generate_parentheses.md @@ -0,0 +1,22 @@ +# Generate Parentheses + +**Problem Number:** 22 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/028_find_the_index_of_the_first_occurrence_in_a_string.md b/src/notes/028_find_the_index_of_the_first_occurrence_in_a_string.md new file mode 100644 index 0000000..2f375f3 --- /dev/null +++ b/src/notes/028_find_the_index_of_the_first_occurrence_in_a_string.md @@ -0,0 +1,22 @@ +# Find the Index of the First Occurrence in a String + +**Problem Number:** 28 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/035_search_insert_position.md b/src/notes/035_search_insert_position.md new file mode 100644 index 0000000..f8f51c8 --- /dev/null +++ b/src/notes/035_search_insert_position.md @@ -0,0 +1,22 @@ +# Search Insert Position + +**Problem Number:** 35 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/036_valid_sudoku.md b/src/notes/036_valid_sudoku.md new file mode 100644 index 0000000..3a4d6e6 --- /dev/null +++ b/src/notes/036_valid_sudoku.md @@ -0,0 +1,22 @@ +# Valid Sudoku + +**Problem Number:** 36 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/042_trapping_rain_water.md b/src/notes/042_trapping_rain_water.md new file mode 100644 index 0000000..f3e91ee --- /dev/null +++ b/src/notes/042_trapping_rain_water.md @@ -0,0 +1,22 @@ +# Trapping Rain Water + +**Problem Number:** 42 +**Difficulty:** Hard +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/045_jump_game_ii.md b/src/notes/045_jump_game_ii.md new file mode 100644 index 0000000..cb2e493 --- /dev/null +++ b/src/notes/045_jump_game_ii.md @@ -0,0 +1,22 @@ +# Jump Game II + +**Problem Number:** 45 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/050_powx_n.md b/src/notes/050_powx_n.md new file mode 100644 index 0000000..04a6e59 --- /dev/null +++ b/src/notes/050_powx_n.md @@ -0,0 +1,22 @@ +# Pow(x, n) + +**Problem Number:** 50 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/055_jump_game.md b/src/notes/055_jump_game.md new file mode 100644 index 0000000..ed4d2c1 --- /dev/null +++ b/src/notes/055_jump_game.md @@ -0,0 +1,22 @@ +# Jump Game + +**Problem Number:** 55 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/066_plus_one.md b/src/notes/066_plus_one.md new file mode 100644 index 0000000..8749b97 --- /dev/null +++ b/src/notes/066_plus_one.md @@ -0,0 +1,22 @@ +# Plus One + +**Problem Number:** 66 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/069_sqrtx.md b/src/notes/069_sqrtx.md new file mode 100644 index 0000000..8e6dcc8 --- /dev/null +++ b/src/notes/069_sqrtx.md @@ -0,0 +1,22 @@ +# Sqrt(x) + +**Problem Number:** 69 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/074_search_a_2d_matrix.md b/src/notes/074_search_a_2d_matrix.md new file mode 100644 index 0000000..d03f230 --- /dev/null +++ b/src/notes/074_search_a_2d_matrix.md @@ -0,0 +1,22 @@ +# Search a 2D Matrix + +**Problem Number:** 74 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/080_remove_duplicates_from_sorted_array_ii.md b/src/notes/080_remove_duplicates_from_sorted_array_ii.md new file mode 100644 index 0000000..7b702da --- /dev/null +++ b/src/notes/080_remove_duplicates_from_sorted_array_ii.md @@ -0,0 +1,22 @@ +# Remove Duplicates from Sorted Array II + +**Problem Number:** 80 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/088_merge_sorted_array.md b/src/notes/088_merge_sorted_array.md new file mode 100644 index 0000000..c604b84 --- /dev/null +++ b/src/notes/088_merge_sorted_array.md @@ -0,0 +1,22 @@ +# Merge Sorted Array + +**Problem Number:** 88 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/089_gray_code.md b/src/notes/089_gray_code.md new file mode 100644 index 0000000..837397b --- /dev/null +++ b/src/notes/089_gray_code.md @@ -0,0 +1,22 @@ +# Gray Code + +**Problem Number:** 89 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/090_subsets_ii.md b/src/notes/090_subsets_ii.md new file mode 100644 index 0000000..cb2d592 --- /dev/null +++ b/src/notes/090_subsets_ii.md @@ -0,0 +1,22 @@ +# Subsets II + +**Problem Number:** 90 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/091_decode_ways.md b/src/notes/091_decode_ways.md new file mode 100644 index 0000000..9e52269 --- /dev/null +++ b/src/notes/091_decode_ways.md @@ -0,0 +1,22 @@ +# Decode Ways + +**Problem Number:** 91 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/092_reverse_linked_list_ii.md b/src/notes/092_reverse_linked_list_ii.md new file mode 100644 index 0000000..4c15148 --- /dev/null +++ b/src/notes/092_reverse_linked_list_ii.md @@ -0,0 +1,22 @@ +# Reverse Linked List II + +**Problem Number:** 92 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/1200_minimum_absolute_difference.md b/src/notes/1200_minimum_absolute_difference.md new file mode 100644 index 0000000..ab04c65 --- /dev/null +++ b/src/notes/1200_minimum_absolute_difference.md @@ -0,0 +1,22 @@ +# Minimum Absolute Difference + +**Problem Number:** 1200 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/121_best_time_to_buy_and_sell_stock.md b/src/notes/121_best_time_to_buy_and_sell_stock.md new file mode 100644 index 0000000..5da7985 --- /dev/null +++ b/src/notes/121_best_time_to_buy_and_sell_stock.md @@ -0,0 +1,22 @@ +# Best Time to Buy and Sell Stock + +**Problem Number:** 121 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/122_best_time_to_buy_and_sell_stock_ii.md b/src/notes/122_best_time_to_buy_and_sell_stock_ii.md new file mode 100644 index 0000000..c792126 --- /dev/null +++ b/src/notes/122_best_time_to_buy_and_sell_stock_ii.md @@ -0,0 +1,22 @@ +# Best Time to Buy and Sell Stock II + +**Problem Number:** 122 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/125_valid_palindrome.md b/src/notes/125_valid_palindrome.md new file mode 100644 index 0000000..dcaf22d --- /dev/null +++ b/src/notes/125_valid_palindrome.md @@ -0,0 +1,22 @@ +# Valid Palindrome + +**Problem Number:** 125 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/128_longest_consecutive_sequence.md b/src/notes/128_longest_consecutive_sequence.md new file mode 100644 index 0000000..45be91c --- /dev/null +++ b/src/notes/128_longest_consecutive_sequence.md @@ -0,0 +1,22 @@ +# Longest Consecutive Sequence + +**Problem Number:** 128 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/1298_maximum_candies_you_can_get_from_boxes.md b/src/notes/1298_maximum_candies_you_can_get_from_boxes.md new file mode 100644 index 0000000..c643b7d --- /dev/null +++ b/src/notes/1298_maximum_candies_you_can_get_from_boxes.md @@ -0,0 +1,22 @@ +# Maximum Candies You Can Get from Boxes + +**Problem Number:** 1298 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/135_candy.md b/src/notes/135_candy.md new file mode 100644 index 0000000..308ab2b --- /dev/null +++ b/src/notes/135_candy.md @@ -0,0 +1,22 @@ +# Candy + +**Problem Number:** 135 +**Difficulty:** Hard +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/141_linked_list_cycle.md b/src/notes/141_linked_list_cycle.md new file mode 100644 index 0000000..3970753 --- /dev/null +++ b/src/notes/141_linked_list_cycle.md @@ -0,0 +1,22 @@ +# Linked List Cycle + +**Problem Number:** 141 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/149_max_points_on_a_line.md b/src/notes/149_max_points_on_a_line.md new file mode 100644 index 0000000..d743b12 --- /dev/null +++ b/src/notes/149_max_points_on_a_line.md @@ -0,0 +1,22 @@ +# Max Points on a Line + +**Problem Number:** 149 +**Difficulty:** Hard +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/150_evaluate_reverse_polish_notation.md b/src/notes/150_evaluate_reverse_polish_notation.md new file mode 100644 index 0000000..1f31bcd --- /dev/null +++ b/src/notes/150_evaluate_reverse_polish_notation.md @@ -0,0 +1,22 @@ +# Evaluate Reverse Polish Notation + +**Problem Number:** 150 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/153_find_minimum_in_rotated_sorted_array.md b/src/notes/153_find_minimum_in_rotated_sorted_array.md new file mode 100644 index 0000000..f29f721 --- /dev/null +++ b/src/notes/153_find_minimum_in_rotated_sorted_array.md @@ -0,0 +1,22 @@ +# Find Minimum in Rotated Sorted Array + +**Problem Number:** 153 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/155_min_stack.md b/src/notes/155_min_stack.md new file mode 100644 index 0000000..050b8b2 --- /dev/null +++ b/src/notes/155_min_stack.md @@ -0,0 +1,22 @@ +# Min Stack + +**Problem Number:** 155 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/167_two_sum_ii__input_array_is_sorted.md b/src/notes/167_two_sum_ii__input_array_is_sorted.md new file mode 100644 index 0000000..1990084 --- /dev/null +++ b/src/notes/167_two_sum_ii__input_array_is_sorted.md @@ -0,0 +1,22 @@ +# Two Sum II - Input Array Is Sorted + +**Problem Number:** 167 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/169_majority_element.md b/src/notes/169_majority_element.md new file mode 100644 index 0000000..734459f --- /dev/null +++ b/src/notes/169_majority_element.md @@ -0,0 +1,22 @@ +# Majority Element + +**Problem Number:** 169 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/172_factorial_trailing_zeroes.md b/src/notes/172_factorial_trailing_zeroes.md new file mode 100644 index 0000000..09a55a4 --- /dev/null +++ b/src/notes/172_factorial_trailing_zeroes.md @@ -0,0 +1,22 @@ +# Factorial Trailing Zeroes + +**Problem Number:** 172 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/1820_maximum_number_of_accepted_invitations.md b/src/notes/1820_maximum_number_of_accepted_invitations.md new file mode 100644 index 0000000..75a9c6d --- /dev/null +++ b/src/notes/1820_maximum_number_of_accepted_invitations.md @@ -0,0 +1,22 @@ +# Maximum Number of Accepted Invitations + +**Problem Number:** 1820 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/189_rotate_array.md b/src/notes/189_rotate_array.md new file mode 100644 index 0000000..0df5988 --- /dev/null +++ b/src/notes/189_rotate_array.md @@ -0,0 +1,22 @@ +# Rotate Array + +**Problem Number:** 189 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/202_happy_number.md b/src/notes/202_happy_number.md new file mode 100644 index 0000000..d8283fa --- /dev/null +++ b/src/notes/202_happy_number.md @@ -0,0 +1,22 @@ +# Happy Number + +**Problem Number:** 202 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/2040_kth_smallest_product_of_two_sorted_arrays.md b/src/notes/2040_kth_smallest_product_of_two_sorted_arrays.md new file mode 100644 index 0000000..21a3547 --- /dev/null +++ b/src/notes/2040_kth_smallest_product_of_two_sorted_arrays.md @@ -0,0 +1,22 @@ +# Kth Smallest Product of Two Sorted Arrays + +**Problem Number:** 2040 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/2053_kth_distinct_string_in_an_array.md b/src/notes/2053_kth_distinct_string_in_an_array.md new file mode 100644 index 0000000..4f959c5 --- /dev/null +++ b/src/notes/2053_kth_distinct_string_in_an_array.md @@ -0,0 +1,22 @@ +# Kth Distinct String in an Array + +**Problem Number:** 2053 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/205_isomorphic_strings.md b/src/notes/205_isomorphic_strings.md new file mode 100644 index 0000000..94cbbb3 --- /dev/null +++ b/src/notes/205_isomorphic_strings.md @@ -0,0 +1,22 @@ +# Isomorphic Strings + +**Problem Number:** 205 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/206_reverse_linked_list.md b/src/notes/206_reverse_linked_list.md new file mode 100644 index 0000000..b9c73aa --- /dev/null +++ b/src/notes/206_reverse_linked_list.md @@ -0,0 +1,22 @@ +# Reverse Linked List + +**Problem Number:** 206 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/2116_check_if_a_parentheses_string_can_be_valid.md b/src/notes/2116_check_if_a_parentheses_string_can_be_valid.md new file mode 100644 index 0000000..7e21c04 --- /dev/null +++ b/src/notes/2116_check_if_a_parentheses_string_can_be_valid.md @@ -0,0 +1,22 @@ +# Check if a Parentheses String Can Be Valid + +**Problem Number:** 2116 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/217_contains_duplicate.md b/src/notes/217_contains_duplicate.md new file mode 100644 index 0000000..a61ebfd --- /dev/null +++ b/src/notes/217_contains_duplicate.md @@ -0,0 +1,22 @@ +# Contains Duplicate + +**Problem Number:** 217 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/219_contains_duplicate_ii.md b/src/notes/219_contains_duplicate_ii.md new file mode 100644 index 0000000..fc94d23 --- /dev/null +++ b/src/notes/219_contains_duplicate_ii.md @@ -0,0 +1,22 @@ +# Contains Duplicate II + +**Problem Number:** 219 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/228_summary_ranges.md b/src/notes/228_summary_ranges.md new file mode 100644 index 0000000..2ba1b11 --- /dev/null +++ b/src/notes/228_summary_ranges.md @@ -0,0 +1,22 @@ +# Summary Ranges + +**Problem Number:** 228 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/2294_partition_array_such_that_maximum_difference_is_k.md b/src/notes/2294_partition_array_such_that_maximum_difference_is_k.md new file mode 100644 index 0000000..167d1d6 --- /dev/null +++ b/src/notes/2294_partition_array_such_that_maximum_difference_is_k.md @@ -0,0 +1,22 @@ +# Partition Array Such That Maximum Difference Is K + +**Problem Number:** 2294 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/238_product_of_array_except_self.md b/src/notes/238_product_of_array_except_self.md new file mode 100644 index 0000000..e6c8070 --- /dev/null +++ b/src/notes/238_product_of_array_except_self.md @@ -0,0 +1,22 @@ +# Product of Array Except Self + +**Problem Number:** 238 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/242_valid_anagram.md b/src/notes/242_valid_anagram.md new file mode 100644 index 0000000..34f374d --- /dev/null +++ b/src/notes/242_valid_anagram.md @@ -0,0 +1,22 @@ +# Valid Anagram + +**Problem Number:** 242 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/243_shortest_word_distance.md b/src/notes/243_shortest_word_distance.md new file mode 100644 index 0000000..e02b236 --- /dev/null +++ b/src/notes/243_shortest_word_distance.md @@ -0,0 +1,22 @@ +# Shortest Word Distance + +**Problem Number:** 243 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/2441_largest_positive_integer_that_exists_with_its_negative.md b/src/notes/2441_largest_positive_integer_that_exists_with_its_negative.md new file mode 100644 index 0000000..0cbdb87 --- /dev/null +++ b/src/notes/2441_largest_positive_integer_that_exists_with_its_negative.md @@ -0,0 +1,22 @@ +# Largest Positive Integer That Exists With Its Negative + +**Problem Number:** 2441 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/244_shortest_word_distance_ii.md b/src/notes/244_shortest_word_distance_ii.md new file mode 100644 index 0000000..dbd251b --- /dev/null +++ b/src/notes/244_shortest_word_distance_ii.md @@ -0,0 +1,22 @@ +# Shortest Word Distance II + +**Problem Number:** 244 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/245_shortest_word_distance_iii.md b/src/notes/245_shortest_word_distance_iii.md new file mode 100644 index 0000000..feb9d52 --- /dev/null +++ b/src/notes/245_shortest_word_distance_iii.md @@ -0,0 +1,22 @@ +# Shortest Word Distance III + +**Problem Number:** 245 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/246_strobogrammatic_number.md b/src/notes/246_strobogrammatic_number.md new file mode 100644 index 0000000..dbf695c --- /dev/null +++ b/src/notes/246_strobogrammatic_number.md @@ -0,0 +1,22 @@ +# Strobogrammatic Number + +**Problem Number:** 246 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/248_strobogrammatic_number_iii.md b/src/notes/248_strobogrammatic_number_iii.md new file mode 100644 index 0000000..e8cb8f8 --- /dev/null +++ b/src/notes/248_strobogrammatic_number_iii.md @@ -0,0 +1,22 @@ +# Strobogrammatic Number III + +**Problem Number:** 248 +**Difficulty:** Hard +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/2616_minimize_the_maximum_difference_of_pairs.md b/src/notes/2616_minimize_the_maximum_difference_of_pairs.md new file mode 100644 index 0000000..ce68e93 --- /dev/null +++ b/src/notes/2616_minimize_the_maximum_difference_of_pairs.md @@ -0,0 +1,22 @@ +# Minimize the Maximum Difference of Pairs + +**Problem Number:** 2616 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/290_word_pattern.md b/src/notes/290_word_pattern.md new file mode 100644 index 0000000..c671c4c --- /dev/null +++ b/src/notes/290_word_pattern.md @@ -0,0 +1,22 @@ +# Word Pattern + +**Problem Number:** 290 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/2966_divide_array_into_arrays_with_max_difference.md b/src/notes/2966_divide_array_into_arrays_with_max_difference.md new file mode 100644 index 0000000..4e92409 --- /dev/null +++ b/src/notes/2966_divide_array_into_arrays_with_max_difference.md @@ -0,0 +1,22 @@ +# Divide Array Into Arrays With Max Difference + +**Problem Number:** 2966 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/3442_maximum_difference_between_even_and_odd_frequency_i.md b/src/notes/3442_maximum_difference_between_even_and_odd_frequency_i.md new file mode 100644 index 0000000..4afc71d --- /dev/null +++ b/src/notes/3442_maximum_difference_between_even_and_odd_frequency_i.md @@ -0,0 +1,22 @@ +# Maximum Difference Between Even and Odd Frequency I + +**Problem Number:** 3442 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/3445_maximum_difference_between_even_and_odd_frequency_ii.md b/src/notes/3445_maximum_difference_between_even_and_odd_frequency_ii.md new file mode 100644 index 0000000..1dd84dd --- /dev/null +++ b/src/notes/3445_maximum_difference_between_even_and_odd_frequency_ii.md @@ -0,0 +1,22 @@ +# Maximum Difference Between Even and Odd Frequency II + +**Problem Number:** 3445 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/383_ransom_note.md b/src/notes/383_ransom_note.md new file mode 100644 index 0000000..34a76a7 --- /dev/null +++ b/src/notes/383_ransom_note.md @@ -0,0 +1,22 @@ +# Ransom Note + +**Problem Number:** 383 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/392_is_subsequence.md b/src/notes/392_is_subsequence.md new file mode 100644 index 0000000..985ac26 --- /dev/null +++ b/src/notes/392_is_subsequence.md @@ -0,0 +1,22 @@ +# Is Subsequence + +**Problem Number:** 392 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/704_binary_search.md b/src/notes/704_binary_search.md new file mode 100644 index 0000000..c3ba01b --- /dev/null +++ b/src/notes/704_binary_search.md @@ -0,0 +1,22 @@ +# Binary Search + +**Problem Number:** 704 +**Difficulty:** Easy +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/875_koko_eating_bananas.md b/src/notes/875_koko_eating_bananas.md new file mode 100644 index 0000000..90307e2 --- /dev/null +++ b/src/notes/875_koko_eating_bananas.md @@ -0,0 +1,22 @@ +# Koko Eating Bananas + +**Problem Number:** 875 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.* diff --git a/src/notes/990_satisfiability_of_equality_equations.md b/src/notes/990_satisfiability_of_equality_equations.md new file mode 100644 index 0000000..679f8ff --- /dev/null +++ b/src/notes/990_satisfiability_of_equality_equations.md @@ -0,0 +1,22 @@ +# Satisfiability of Equality Equations + +**Problem Number:** 990 +**Difficulty:** Medium +**Category:** + +## Problem Description + +## My Approach + +## Solution + +## Time & Space Complexity + +## Key Insights + +## Mistakes Made + +## Related Problems + +--- +*Note: This is a work in progress. I'll add more details as I reflect on this problem.*