41c502a5074a073021d61df906bb598936b9e851
🧠 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 leetcode.nvim caching
🧩 Problem Index
| # | LeetCode # | Title | Difficulty | Technology |
|---|---|---|---|---|
| 1 | 001 | Two Sum | Easy | Python |
| 2 | 002 | Add Two Numbers | Medium | Python |
| 3 | 003 | Longest Substring Without Repeating Characters | Medium | Python |
| 4 | 004 | Median of Two Sorted Arrays | Hard | Python |
| 5 | 005 | Longest Palindromic Substring | Medium | Python |
| 6 | 009 | Palindrome Number | Easy | Python |
| 7 | 011 | Container With Most Water | Medium | Python |
| 8 | 013 | Roman to Integer | Easy | Python |
| 9 | 014 | Longest Common Prefix | Easy | Python |
| 10 | 015 | 3Sum | Medium | Python |
| 11 | 020 | Valid Parentheses | Easy | Python |
| 12 | 022 | Generate Parentheses | Medium | Python |
| 13 | 026 | Remove Duplicates from Sorted Array | Easy | Python |
| 14 | 027 | Remove Element | Easy | Python |
| 15 | 028 | Find the Index of the First Occurrence in a String | Easy | Python |
| 16 | 035 | Search Insert Position | Easy | Python |
| 17 | 036 | Valid Sudoku | Medium | Python |
| 18 | 042 | Trapping Rain Water | Hard | Python |
| 19 | 049 | Group Anagrams | Medium | JavaScript |
| 20 | 050 | Pow(x, n) | Medium | Python |
| 21 | 055 | Jump Game | Medium | Python |
| 22 | 058 | Length of Last Word | Easy | Python |
| 23 | 066 | Plus One | Easy | Python |
| 24 | 069 | Sqrt(x) | Easy | Python |
| 25 | 070 | Climbing Stairs | Easy | JavaScript |
| 26 | 074 | Search a 2D Matrix | Medium | Python |
| 27 | 080 | Remove Duplicates from Sorted Array II | Medium | Python |
| 28 | 088 | Merge Sorted Array | Easy | Python |
| 29 | 089 | Gray Code | Medium | Python |
| 30 | 090 | Subsets II | Medium | Python |
| 31 | 091 | Decode Ways | Medium | Python |
| 32 | 121 | Best Time to Buy and Sell Stock | Easy | Python |
| 33 | 122 | Best Time to Buy and Sell Stock II | Medium | Python |
| 34 | 125 | Valid Palindrome | Easy | Python |
| 35 | 128 | Longest Consecutive Sequence | Medium | Python |
| 36 | 135 | Candy | Hard | Python |
| 37 | 141 | Linked List Cycle | Easy | Python |
| 38 | 149 | Max Points on a Line | Hard | Python |
| 39 | 151 | Reverse Words in a String | Medium | Python |
| 40 | 153 | Find Minimum in Rotated Sorted Array | Medium | Python |
| 41 | 155 | Min Stack | Medium | Python |
| 42 | 167 | Two Sum II - Input Array Is Sorted | Medium | Python |
| 43 | 169 | Majority Element | Easy | Python |
| 44 | 172 | Factorial Trailing Zeroes | Medium | Python |
| 45 | 189 | Rotate Array | Medium | Python |
| 46 | 202 | Happy Number | Easy | Python |
| 47 | 205 | Isomorphic Strings | Easy | Python |
| 48 | 206 | Reverse Linked List | Easy | Python |
| 49 | 217 | Contains Duplicate | Easy | Python |
| 50 | 219 | Contains Duplicate II | Easy | Python |
| 51 | 228 | Summary Ranges | Easy | Python |
| 52 | 238 | Product of Array Except Self | Medium | Python |
| 53 | 242 | Valid Anagram | Easy | Python |
| 54 | 243 | Shortest Word Distance | Easy | Python |
| 55 | 244 | Shortest Word Distance II | Medium | Python |
| 56 | 245 | Shortest Word Distance III | Medium | Python |
| 57 | 246 | Strobogrammatic Number | Easy | Python |
| 58 | 248 | Strobogrammatic Number III | Hard | Python |
| 59 | 271 | Encode and Decode Strings | Medium | JavaScript |
| 60 | 290 | Word Pattern | Easy | Python |
| 61 | 347 | Top K Frequent Elements | Medium | JavaScript |
| 62 | 383 | Ransom Note | Easy | Python |
| 63 | 392 | Is Subsequence | Easy | Python |
| 64 | 595 | Big Countries | Easy | SQL |
| 65 | 704 | Binary Search | Easy | Python |
| 66 | 760 | Find Anagram Mappings | Easy | Python |
| 67 | 875 | Koko Eating Bananas | Medium | Python |
| 68 | 1048 | Longest String Chain | Medium | JavaScript |
| 69 | 1200 | Minimum Absolute Difference | Easy | Python |
| 70 | 1302 | Deepest Leaves Sum | Medium | Python |
| 71 | 2016 | Maximum Difference Between Increasing Elements | Easy | Python |
| 72 | 2053 | Kth Distinct String in an Array | Easy | Python |
| 73 | 2294 | Partition Array Such That Maximum Difference Is K | Medium | Python |
| 74 | 3442 | Maximum Difference Between Even and Odd Frequency I | Easy | Python |
| 75 | 3582 | Generate Tag for Video Caption | Easy | Python |
| 76 | 3583 | Count Special Triplets | Easy | Python |
🛠️ Tools & Scripts
create_missing_notes.sh: Automatically creates missing note files for solved problemsupdate_difficulties.sh: Manage problem difficulties dynamically without hardcoding
Script Usage Examples:
# Create missing notes for new problems
./create_missing_notes.sh
# Add difficulty mapping for a problem
./update_difficulties.sh -a 1 Easy
./update_difficulties.sh -a 4 Hard
# List all difficulty mappings
./update_difficulties.sh -l
# Update all note files with correct difficulties
./update_difficulties.sh -u
# Remove difficulty mapping
./update_difficulties.sh -r 1
📚 Resources
This repository is a living document of my algorithmic learning journey. Each note captures my thought process, mistakes, and insights.
Languages
Python
85.3%
Shell
12%
JavaScript
2.7%