Welcome to my Problem Solving Practice repository! π
This repository is dedicated to improving my problem-solving skills using Java. It focuses on mastering algorithms and data structures through hands-on practice and challenges.
Problems are sourced from platforms like Codeforces and LeetCode, as well as structured courses for systematic learning.
- Strengthen algorithmic thinking and coding proficiency.
- Prepare for coding interviews with comprehensive practice.
- Build efficient and optimized solutions to challenging problems.
- Sliding Window
- Two Pointers
- Fast and Slow Pointers
- Sorting Algorithms
- Searching Algorithms
- Prefix Sum
- In-place Reversal of a Linked List
- Linked Lists
- Stacks and Queues
- Queues and Deques
- Tree Breadth-First Search
- Tree Depth-First Search
- Topological Sort (Graph)
- Graph Basics and Traversals
- Graph Algorithms (DFS, BFS, Dijkstra's, Floyd-Warshall)
- 0/1 Knapsack
- Longest Common Substring
- Advanced Dynamic Programming
- Bitwise XOR
- Subsets
- Merge Intervals
- Cyclic Sort
- Greedy Strategies
- Modified Binary Search
- Two Heaps (Priority Queues)
- K-way Merge
- Trie (Prefix Tree)
- Segment Trees and Fenwick Trees
- Disjoint Set Union (Union-Find)
- Computational Geometry
- Number Theory
- String Matching Algorithms (KMP, Rabin-Karp, Z-Algorithm)
- Bit Manipulation Techniques
root/
 βββ DSA/ # Practice by topics (Leetcode & Codeforces)
 β βββ arrays_and_strings/
 β βββ linked_lists_and_stacks/
 β βββ trees_and_graphs/
 β βββ dynamic_programming/
 β βββ greedy_algorithms/
 β βββ divide_and_conquer/
 β βββ advanced_topics/
 β βββ utils/
 βββ Leetcode/ # Practice by Contests and Study Plans
 β βββ contests/
 β βββ study_plans/
 βββ test/
 β βββ DSA/
 β βββ Leetcode/
 βββ README.md
 βββ .gitignore
 βββ pom.xml
 βββ build.gradle
 βββ LICENSE
Feel free to explore the repository and contribute your suggestions or solutions! π