Skip to content

nikhilxagr/Leetcode-practice-log

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

196 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Header

LeetCode Python VS Code Git

Daily Progress License Stars

🎯 A systematically organized collection of LeetCode solutions

πŸ“š Structured by Difficulty Level

πŸ‘¨β€πŸ’» Created & Maintained by Nikhil Agrahari

Passionate Problem Solver | Algorithm Enthusiast | Software Developer


πŸ“Š Repository Stats

🟒 Easy

70

Problems Solved

🟑 Medium

14

Problems Solved

πŸ”΄ Hard

0

Problems Solved

πŸ“ˆ Total

84

Problems Solved

πŸ“ˆ Progress Bar

Overall: β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 84/200 (42%)
Easy:    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘ 70/50  (140%)
Medium:  β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 14/100 (14%)
Hard:    β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 0/50   (0%)

🎯 About This Repository

Welcome to my LeetCode Solutions Repository! 🌟

This comprehensive collection documents my journey in mastering Data Structures and Algorithms through consistent practice on LeetCode. Each solution is carefully crafted with detailed explanations, complexity analysis, and multiple approaches where applicable.

πŸŽ“ Purpose

  • πŸ“š Learning: Document my journey in mastering DSA
  • 🧠 Practice: Regular problem-solving to sharpen coding skills
  • 🀝 Sharing: Help others learn from my solutions and approaches
  • πŸ’Ό Interview Prep: Building a strong foundation for technical interviews
  • 🎯 Growth: Tracking progress and continuous improvement

πŸ“‚ Repository Structure

πŸ“¦ Leetcode-Practice-Log/
β”‚
β”œβ”€β”€ πŸ“‚ EASY/                      # 70 Problems βœ…
β”‚   β”œβ”€β”€ πŸ“„ 0001_Two_Sum.py
β”‚   β”œβ”€β”€ πŸ“„ 0013_Roman_to_Integer.py
β”‚   β”œβ”€β”€ πŸ“„ 0014_Longest_Common_Prefix.py
β”‚   β”œβ”€β”€ πŸ“„ 0020_Valid_Parentheses.py
β”‚   β”œβ”€β”€ πŸ“„ 0026_Remove_Duplicates.py
β”‚   β”œβ”€β”€ πŸ“„ 0027_Remove_Element.py
β”‚   β”œβ”€β”€ πŸ“„ 0028_Find_Index.py
β”‚   β”œβ”€β”€ πŸ“„ 0035_Search_Insert_position.py
β”‚   β”œβ”€β”€ πŸ“„ 0058_Length_of_Last_Word.py
β”‚   β”œβ”€β”€ πŸ“„ 0066_Plus_One.py
β”‚   β”œβ”€β”€ πŸ“„ 0088_Merge_Sorted_Array.py
β”‚   β”œβ”€β”€ πŸ“„ 0118_Pascals_Triangle.py
β”‚   β”œβ”€β”€ πŸ“„ 0119_Pascals_Triangle_II.py
β”‚   β”œβ”€β”€ πŸ“„ 0121_Best_Time_to_Buy_Sell_Stock.py
β”‚   β”œβ”€β”€ πŸ“„ 0125_Valid_Palindrome.py
β”‚   β”œβ”€β”€ πŸ“„ 0136_Single_Number.py
β”‚   β”œβ”€β”€ πŸ“„ 0169_Majority_Element.py
β”‚   β”œβ”€β”€ πŸ“„ 0217_Contains_Duplicate.py
β”‚   β”œβ”€β”€ πŸ“„ 0268_Missing_Number.py
β”‚   β”œβ”€β”€ πŸ“„ 0283_Move_Zeroes.py
β”‚   β”œβ”€β”€ πŸ“„ 0349_Intersection_of_Arrays.py
β”‚   └── πŸ“„ 0000_WHAT.md
β”‚
β”œβ”€β”€ πŸ“‚ MEDIUM/                    # 14 Problems
β”‚   └── πŸ“„ 0000_WHAT.md
β”‚
β”œβ”€β”€ πŸ“‚ HARD/                      # 0 Problems
β”‚   └── πŸ“„ 0000_WHAT.md
β”‚
└── πŸ“„ README.md

πŸ—‚οΈ Solved Problems

🟒 Easy Level Problems (70/50)

# Problem Difficulty Topics Solution LeetCode
1 Two Sum Easy Array Hash Table πŸ“ Solution πŸ”— Link
13 Roman to Integer Easy Hash Table String πŸ“ Solution πŸ”— Link
14 Longest Common Prefix Easy String Array πŸ“ Solution πŸ”— Link
20 Valid Parentheses Easy Stack String πŸ“ Solution πŸ”— Link
26 Remove Duplicates from Sorted Array Easy Array Two Pointers πŸ“ Solution πŸ”— Link
27 Remove Element Easy Array Two Pointers πŸ“ Solution πŸ”— Link
28 Find Index of First Occurrence in String Easy String String Matching πŸ“ Solution πŸ”— Link
35 Search Insert Position Easy Array Binary Search πŸ“ Solution πŸ”— Link
58 Length of Last Word Easy String πŸ“ Solution πŸ”— Link
66 Plus One Easy Array Math πŸ“ Solution πŸ”— Link
88 Merge Sorted Array Easy Array Two Pointers πŸ“ Solution πŸ”— Link
118 Pascal's Triangle Easy Array Dynamic Programming πŸ“ Solution πŸ”— Link
119 Pascal's Triangle II Easy Array Dynamic Programming πŸ“ Solution πŸ”— Link
121 Best Time to Buy and Sell Stock Easy Array Dynamic Programming πŸ“ Solution πŸ”— Link
125 Valid Palindrome Easy String Two Pointers πŸ“ Solution πŸ”— Link
136 Single Number Easy Array Bit Manipulation πŸ“ Solution πŸ”— Link
169 Majority Element Easy Array Hash Table πŸ“ Solution πŸ”— Link
217 Contains Duplicate Easy Array Hash Table πŸ“ Solution πŸ”— Link
268 Missing Number Easy Array Math Bit Manipulation πŸ“ Solution πŸ”— Link
283 Move Zeroes Easy Array Two Pointers πŸ“ Solution πŸ”— Link
349 Intersection of Two Arrays Easy Array Hash Table Binary Search πŸ“ Solution πŸ”— Link

🟑 Medium Level Problems (14/100)

Coming Soon

Ready to tackle Medium problems! πŸ’ͺ

πŸ“ View Medium Folder


πŸ”΄ Hard Level Problems (0/50)

Coming Soon

The ultimate challenge awaits! 🎯

πŸ“ View Hard Folder


πŸ“ˆ Progress Tracker

πŸ† Overall Progress

🟒 Easy:    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘ 70/50  (140%)
🟑 Medium: β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 14/100 (14%)
πŸ”΄ Hard:   β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 0/50  (0%)
───────────────────────────────────────
πŸ“Š Total:   β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 84/200 (42%)

πŸ“Š Topics Breakdown

Topic 🟒 Easy 🟑 Medium πŸ”΄ Hard Total Status
Array 15 0 0 15 πŸ”₯
String 5 0 0 5 πŸ”₯
Hash Table 6 0 0 6 πŸ”₯
Two Pointers 6 0 0 6 πŸ”₯
Stack 1 0 0 1 ⚑
Math 2 0 0 2 ⚑
Binary Search 2 0 0 2 ⚑
Bit Manipulation 2 0 0 2 ⚑
Dynamic Programming 3 0 0 3 πŸ”₯
Linked Lists 0 0 0 0 ⏳
Trees 0 0 0 0 ⏳
Graphs 0 0 0 0 ⏳
Backtracking 0 0 0 0 ⏳
Heap 0 0 0 0 ⏳

🎯 Milestones

  • πŸŽ‰ First Problem Solved!
  • πŸ… 10 Problems Solved
  • 🌟 20+ Problems Solved
  • πŸ’Ž 50 Problems Solved
  • πŸ† 100 Problems Solved
  • πŸ‘‘ 200 Problems Solved
  • πŸ”₯ Complete All Easy Problems
  • ⚑ 100-Day Streak

πŸ’‘ Common Patterns & Techniques

Pattern Description Difficulty Used In
πŸ—ΊοΈ Hash Maps O(1) lookups and counting 🟒 Two Sum, Contains Duplicate
πŸ‘‰πŸ‘ˆ Two Pointers Efficient array traversal 🟒 Valid Palindrome, Remove Duplicates
πŸ“š Stack LIFO operations 🟒 Valid Parentheses
πŸ” Binary Search Logarithmic search 🟑 Search Insert Position
πŸ”’ Bit Manipulation Bitwise operations 🟑 Single Number, Missing Number
πŸ’Ύ Dynamic Programming Optimal substructure 🟑 Pascal's Triangle, Best Time to Buy
🎯 Greedy Local optimal choices 🟑 Coming Soon
πŸͺŸ Sliding Window Dynamic window for subarrays 🟑 Coming Soon
🌲 DFS/BFS Tree & Graph traversal 🟒 Coming Soon
πŸ”™ Backtracking Explore all possibilities 🟑 Coming Soon

πŸ› οΈ Technologies & Tools

Python LeetCode VS Code Git GitHub Markdown


πŸ“š Learning Resources

Resource Type Description Link
🎯 LeetCode Platform Practice Problems Visit
πŸ“Ί NeetCode Videos Visual Solutions & Patterns Visit
πŸ“– GeeksforGeeks Articles DSA Theory & Tutorials Visit
πŸŽ“ MIT OCW Course Algorithms Course Visit
πŸ“Š VisuAlgo Tool Algorithm Visualization Visit
πŸ“š CLRS Book Introduction to Algorithms Amazon
🎬 Abdul Bari Videos Algorithm Tutorials YouTube
πŸ’» LeetCode Patterns Guide Problem Patterns GitHub

πŸ’» How to Use This Repository

πŸ“₯ Clone the Repository

git clone https://github.com/nikhilxagr/Leetcode-practice-log.git
cd Leetcode-practice-log

πŸ“‚ Navigate to Problems

# Easy problems
cd EASY

# Medium problems (coming soon)
cd MEDIUM

# Hard problems (coming soon)
cd HARD

🎯 My 2026 Goals

Goal Target Current Status Progress
Complete Easy Problems 50 70 βœ… 140%
Complete Medium Problems 100 14 πŸ”„ 14%
Complete Hard Problems 50 0 ⏳ 0%
Master All Patterns 15 5 πŸ”„ 33%
Complete Blind 75 75 8 πŸ”„ 10%
LeetCode Rating 2000+ -- 🎯 --

🀝 Contributing

While this is primarily a personal learning repository, I welcome:

  • πŸ’‘ Suggestions for better solutions or optimizations
  • πŸ› Bug reports if you find issues in my code
  • πŸ“ Alternative approaches to problems
  • πŸ”— Resource recommendations for learning
  • πŸ€” Questions about any solution

How to Contribute

  1. 🍴 Fork the repository
  2. 🌿 Create your feature branch (git checkout -b feature/improvement)
  3. βœ… Commit your changes (git commit -m 'Add: Better solution for problem X')
  4. πŸ“€ Push to the branch (git push origin feature/improvement)
  5. πŸ”ƒ Open a Pull Request

🌟 About the Author

Nikhil Agrahari

Software Developer | Problem Solver | Tech Enthusiast

Typing SVG

I'm on a journey to master Data Structures and Algorithms through consistent practice and deep understanding. This repository documents every step of my learning process, celebrating wins and learning from challenges.

🎯 My Approach

  1. πŸ“– Understand - Read the problem thoroughly and understand requirements
  2. 🧠 Think - Consider multiple approaches and edge cases
  3. πŸ’» Code - Implement the solution with clean code
  4. ⚑ Optimize - Improve time and space complexity
  5. πŸ§ͺ Test - Verify with multiple test cases and edge cases
  6. πŸ“ Document - Explain the solution clearly for future reference

πŸ“Š Coding Philosophy

"The only way to learn programming is by writing programs." - Dennis Ritchie

  • πŸ”₯ Consistency over intensity - Practice daily, even if it's just one problem
  • 🎯 Quality over quantity - Understand deeply rather than solving superficially
  • 🧩 Understanding over memorization - Learn patterns, not just solutions
  • πŸ’ͺ Persistence through challenges - Every problem is a learning opportunity
  • πŸ“š Document the journey - Help others learn from my experiences

πŸ”— Connect With Me

GitHub Gmail LeetCode


"The expert in anything was once a beginner."


Made with ❀️ and lots of β˜• by Nikhil Agrahari

About

A collection of LeetCode problems solved in Python with simple explanations to help learn Data Structures and Algorithms and prepare for coding interviews.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors