Building problem-solving skills, one problem at a time.
My journey from solving problems β recognizing patterns β becoming a better engineer.
I'm Jeel Soni, a B.Tech student specializing in Artificial Intelligence & Machine Learning.
This repository documents my journey through:
- π§© Data Structures & Algorithms
- π§ Problem Solving
- β‘ Algorithm Optimization
- π― Technical Interview Preparation
- π» Software Engineering Fundamentals
This isn't just a collection of answers.
It's a record of my growth.
The goal isn't to solve everything. The goal is to become better at solving anything.
| Difficulty | Problems |
|---|---|
| π’ Easy | 20 |
| π‘ Medium | 47 |
| π΄ Hard | 6 |
| βͺ Unknown | 0 |
| π Total | 73 |
π’ Easy 20
π‘ Medium 47
π΄ Hard 6
βͺ Unknown 0
π TOTAL 73
My approach to every problem:
π§© Problem
β
β
π Understand It
β
β
π’ Brute Force
β
β
π§ Find Pattern
β
β
β‘ Optimize
β
β
π» Implement
β
β
π§ͺ Test Edge Cases
β
β
π Learn
I don't want to memorize solutions.
I want to recognize patterns.
| Pattern | Status |
|---|---|
| π Two Pointers | π Learning |
| πͺ Sliding Window | π Learning |
| πΊοΈ Hash Map | π Learning |
| π Binary Search | π Learning |
| π Stack | π Learning |
| πΆ Queue | π Learning |
| π Linked List | π Learning |
| π³ Trees | π Learning |
| πΈοΈ Graphs | π Learning |
| π° Greedy | π Learning |
| π Backtracking | π Learning |
| π§ Dynamic Programming | π Learning |
For every problem, I try to understand five things:
What exactly is the problem asking?
What is the simplest solution I can think of?
Can I recognize a known DSA pattern?
Can I improve:
Time Complexity
+
Space Complexity
I don't consider a solution complete until I think about the unusual cases.
Empty / Minimum Input
β
Duplicates
β
Already Sorted
β
Reverse Sorted
β
Single Element
β
Boundary Values
There will be:
- β Wrong Answers
- β Time Limit Exceeded
- β Failed Edge Cases
- β Bugs
- β Problems I don't understand immediately
And that's completely fine.
β Wrong Answer
β
β
π Understand Why
β
β
π§ Fix It
β
β
π§ Learn The Pattern
β
β
π Become Better
Every wrong answer is another piece of the puzzle.
LeetCode isn't the final destination.
It's one part of a much bigger journey.
DSA
β
β
Problem Solving
β
β
Technical Interviews
β
β
Software Engineering
β
β
AI / ML Engineering
As an AI/ML student, I want to combine strong problem-solving fundamentals with machine learning and real-world engineering.
The goal is not just to build AI systems.
The goal is to become an engineer who can solve difficult problems and build reliable systems.
I don't need to solve 10 problems every day.
I need to understand one problem deeply.
1 Problem
Γ
365 Days
=
365 Opportunities to Improve
leetcode-solutions/
β
βββ 31-next-permutation/
β βββ README.md
β βββ solution.py
β
βββ 73-set-matrix-zeroes/
β βββ README.md
β βββ solution.py
β
βββ 118-pascals-triangle/
β βββ README.md
β βββ solution.py
β
βββ scripts/
β βββ update_readme.py
β
βββ .github/
β βββ workflows/
β βββ update-readme.yml
β
βββ README.md
New LeetCode problems are added automatically through LeetSync.
This repository uses LeetSync + GitHub Actions.
π§βπ» Me
β
β Solve
β
π LeetCode
β
β LeetSync
β
π GitHub Repo
β
β
βοΈ GitHub Actions
β
β
π update_readme.py
β
βββββββββ΄ββββββββ
β β
Count Problems Update Stats
β β
βββββββββ¬ββββββββ
β
π README
This means I can focus on solving problems, while the repository handles the progress tracking.
β
Start the journey
β¬ Build consistency
β¬ Master core DSA patterns
β¬ Solve 50 problems
β¬ Solve 100 problems
β¬ Solve 200 problems
β¬ Master advanced DSA
β¬ Become interview ready
The checklist will evolve as the journey continues.
Every commit is a small record of progress.
Every bug is a lesson.
Every optimized solution is a step forward.
Every difficult problem makes the next one a little easier.
β Jeel Soni
One problem at a time. One pattern at a time. One step at a time.