This repository contains my solutions to various LeetCode problems. My primary goal here is to master data structures and algorithms while applying professional software engineering practices, such as unit testing and benchmarking.
| # | Problem | Category | Difficulty | Go | C | Python | Notes |
|---|---|---|---|---|---|---|---|
| 0001 | Two Sum | Arrays & Hashing | 🟢 Easy | ✅ | ❌ | ✅ | - |
| 0002 | Add Two Numbers | Linked List | 🟡 Medium | ✅ | ❌ | ❌ | - |
| 0003 | Longest Substring | Sliding Window | 🟡 Medium | ✅ | ❌ | ❌ | View Doc 📖 |
| 0004 | Median of Two Sorted Arrays | Binary Search | 🔴 Hard | ✅ | ❌ | ❌ | - |
| 0008 | String to Integer (atoi) | Strings | 🟡 Medium | ✅ | ❌ | ❌ | - |
| 0009 | Palindrome Number | Math | 🟢 Easy | ✅ | ✅ | ❌ | - |
| 0012 | Integer to Roman | Math | 🟡 Medium | ✅ | ❌ | ❌ | - |
| 0013 | Roman to Integer | Arrays & Hashing | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 0014 | Longest Common Prefix | Strings | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 0015 | 3Sum | Arrays & Hashing | 🟡 Medium | ✅ | ❌ | ❌ | - |
| 0020 | Valid Parentheses | Stack | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 0021 | Merge Two Sorted Lists | Linked List | 🟢 Easy | ✅ | ✅ | ❌ | - |
| 0022 | Generate Parentheses | Backtracking | 🟡 Medium | ✅ | ❌ | ❌ | - |
| 0026 | Remove Duplicates from Sorted Array | Arrays & Hashing | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 0027 | Remove Elements | Arrays & Hashing | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 0035 | Search Insert Position | Binary Search | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 0094 | Binary Tree Inorder Traversal | Trees | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 0101 | Symmetric Tree | Trees | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 0133 | Clone Graph | Graphs | 🟡 Medium | ✅ | ❌ | ❌ | - |
| 0144 | Binary Tree Preorder Traversal | Trees | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 0145 | Binary Tree Postorder Traversal | Trees | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 0226 | Invert Binary Tree | Trees | 🟢 Easy | ✅ | ✅ | ❌ | View Doc 📖 |
| 0997 | Find the Town Judge | Graphs | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 1114 | Print in Order | Concurrency | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 1115 | Print FooBar Alternately | Concurrency | 🟡 Medium | ✅ | ❌ | ❌ | - |
| 1288 | Remove Covered Intervals | Arrays & Hashing | 🟡 Medium | ✅ | ❌ | ❌ | Sorting with custom comparator |
| 1301 | Number of Paths with Max Score | Dynamic Programming | 🔴 Hard | ✅ | ❌ | ❌ | DP on Grids |
| 1331 | Rank Transform of an Array | Arrays & Hashing | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 2144 | Minimum Cost of Buying Candies With Discount | Greedy | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 2492 | Minimum Score of a Path Between Two Cities | Graphs | 🟡 Medium | ✅ | ❌ | ❌ | DFS / Connected Components |
| 3286 | Find a Safe Walk Through a Grid | Graphs | 🟡 Medium | ✅ | ❌ | ❌ | Dijkstra / 0-1 BFS |
| 3532 | Path Existence Queries in a Graph I | Graphs | 🟡 Medium | ✅ | ❌ | ❌ | Connected components grouping |
| 3754 | Concatenate Non-Zero Digits and Multiply by Sum I | Math | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 3756 | Concatenate Non-Zero Digits and Multiply by Sum II | Math | 🟡 Medium | ✅ | ❌ | ❌ | Prefix Sum & Binary Search |
(Legend: ✅ Completed | 🏗️ In Progress | ❌ Not started)