Welcome to my curated collection of LeetCode problems, organized by Problem-solving patterns, Data structures and Algorithms. This repository is part of my journey to master problem solving, competitive programming, sharpen my coding skills, and build a solid foundation in algorithmic problem solving.
Each problem in this repository is solved with clarity and efficiency, following a specific pattern or technique. Common strategies include:
- 🟢 Two Pointers
- 🔵 Sliding Window
- 🟣 Binary Search
- 🟣 Array & String
- 🔵 Linked list
- 🟣 Trees
- 🟢 Graphs
- 🟡 Depth-First Search (DFS)
- 🟠 Breadth-First Search (BFS)
- 🔴 Dynamic Programming
- 🟤 Greedy Algorithms
- ⚫ Backtracking
- ⚪ Bit Manipulation
- 🟩 Union-Find / Disjoint Set
- 🟦 Topological Sorting
- 🟥 Trie
- 🟣 Quick Sort, Merge Sort, Bucket Sort
- ...and more!
All solutions are grouped by the primary pattern or data structure used to solve them:
- 📁 Array/
- 📁 Backtracking/
- 📁 Binary_search/
- 📁 Binary_tree_bfs/
- 📁 Binary_tree_dfs/
- 📁 Bucket_sort/
- 📁 Graph_bfs/
- 📁 Graph_dfs/
- 📁 Hashmap/
- 📁 Heap/
- 📁 Intervals/
- 📁 Linkedlist/
- 📁 Matrix/
- 📁 Merge_sort/
- 📁 Quick_sort/
- 📁 Sliding_window/
- 📁 Stack/
- 📁 Two_pointer/
- 📁 Dynamic_programming/
- 📁 Greedy/
- 📁 Bit_manipulation/
- 📁 Union_find/
- 📁 Trie/
Each folder contains:
- ✅
ProblemName.ext
— Clean, well-commented solution - 📝 A short description at the top of each file
- 📌 Time and space complexity analysis
- 🟨 JavaScript
- 🟦 C++
- 🟩 Go
Depending on the problem or the goal of practice, I solve using different languages.
- Solve problems consistently following proven patterns.
- Improve coding efficiency and readability.
- Strengthen understanding of core DSA topics.
- Maintain a searchable, well-organized archive of solutions.
- Browse folders based on the topic you're interested in.
- Open a file to view the solution and explanation.
- Clone or fork the repo if you want to practice alongside.
https://github.com/aliakkas006/problem-solving-pattern.git
This is a personal learning repository. However, feel free to open issues or discussions if you want to collaborate or suggest improvements.
"The more I practice, the luckier I get." – Gary Player