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 | ✅ | ❌ | ❌ | - |
| 0007 | Reverse Integer | Math | 🟡 Medium | ✅ | ❌ | ❌ | - |
| 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 | ✅ | ❌ | ❌ | - |
| 1081 | Smallest Subsequence of Distinct Characters | Stack | 🟡 Medium | ✅ | ❌ | ❌ | String |
| 1114 | Print in Order | Concurrency | 🟢 Easy | ✅ | ❌ | ❌ | - |
| 1115 | Print FooBar Alternately | Concurrency | 🟡 Medium | ✅ | ❌ | ❌ | - |
| 1288 | Remove Covered Intervals | Arrays & Hashing | 🟡 Medium | ✅ | ❌ | ❌ | Sorting with custom comparator |
| 1291 | Sequential Digits | Math | 🟡 Medium | ✅ | ❌ | ❌ | - |
| 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 |
| 2812 | Find the Safest Path in a Grid | Arrays & Hashing | 🟡 Medium | ✅ | ❌ | ❌ | Multi-source BFS + Binary Search |
| 3286 | Find a Safe Walk Through a Grid | Graphs | 🟡 Medium | ✅ | ❌ | ❌ | Dijkstra / 0-1 BFS |
| 3513 | Number of Unique XOR Triplets I | Math | 🟡 Medium | ✅ | ❌ | ❌ | Bitwise Operations |
| 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 |
| 3867 | Sum of GCD of Formed Pairs | Math | 🟡 Medium | ✅ | ❌ | ❌ | - |
(Legend: ✅ Completed | 🏗️ In Progress | ❌ Not started)