Files
leetcode/README.md

105 lines
8.5 KiB
Markdown

# 🧠 LeetCode Practice by CarGDev
This repo tracks my journey solving LeetCode problems — not just code, but my thought process, reflections, and patterns I'm mastering.
## ✅ Progress
- **Total Problems Solved**: 75+
- **Notes Written**: 1+ (expanding soon)
- **Categories Covered**: Arrays, Hash Maps, Dynamic Programming, Two Pointers, Binary Search, etc.
## 🗂 Directory Structure
- `src/exercises/`: Auto-downloaded solutions via Cursor
- `src/notes/`: My personal notes, approaches, and learning reflections
## 🧩 Problem Index
| # | 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) |
## 🛠️ Tools & Scripts
- `create_missing_notes.sh`: Automatically creates missing note files for solved problems
## 📚 Resources
- [LeetCode Problem Set](https://leetcode.com/problemset/)
- [My LeetCode Profile](https://leetcode.com/u/cargdev/)
---
*This repository is a living document of my algorithmic learning journey. Each note captures my thought process, mistakes, and insights.*