This repository contains my solutions to the Neetcode 150 problems, which are a curated list of 150 LeetCode problems covering various data structures and algorithms.
The solutions are organized by topics:
arrays/: Problems involving array manipulationtwo_pointers/: Two-pointer technique problemssliding_window/: Sliding window algorithm problemsstack/: Stack data structure problemsbinary_search/: Binary search algorithm problemslinked_list/: Linked list data structure problemstrees/: Tree data structure problemstries/: Trie data structure problemsheap_priority_queue/: Heap/Priority Queue problemsbacktracking/: Backtracking algorithm problemsgraphs/: Graph algorithm problemsadvanced_graphs/: Advanced graph algorithm problemsdynamic_programming_1d/: 1D dynamic programming problemsdynamic_programming_2d/: 2D dynamic programming problemsgreedy/: Greedy algorithm problemsintervals/: Interval-related problemsmath_geometry/: Mathematical and geometric problemsbit_manipulation/: Bit manipulation problems
My current progress can be found in the PROGRESS.md file.
Each solution file includes:
- Problem description and link to LeetCode
- Time and space complexity analysis
- Solution explanation
- Code implementation
The primary language used for solutions is Python, with occasional alternatives in:
- JavaScript
- Java
- C++
Most solutions can be run directly with their respective language interpreters/compilers:
# For Python solutions
python solutions/arrays/two_sum.py
# For JavaScript solutions
node solutions/arrays/two_sum.jsThis repository is for my personal learning journey. Feel free to use it for reference, but I'm not accepting contributions.