https://github.com/crisnguyendev/problem-solving-practice-java
A Java-focused repository to master algorithms, data structures, and problem-solving techniques. Ideal for coding interview preparation and competitive programming challenges.
https://github.com/crisnguyendev/problem-solving-practice-java
algorithms big-o-interview codeforces data-structures grokking-coding-interview java leetcode problem
Last synced: 3 months ago
JSON representation
A Java-focused repository to master algorithms, data structures, and problem-solving techniques. Ideal for coding interview preparation and competitive programming challenges.
- Host: GitHub
- URL: https://github.com/crisnguyendev/problem-solving-practice-java
- Owner: crisnguyendev
- Created: 2024-07-19T04:55:39.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2025-04-12T02:05:12.000Z (3 months ago)
- Last Synced: 2025-04-14T13:17:34.142Z (3 months ago)
- Topics: algorithms, big-o-interview, codeforces, data-structures, grokking-coding-interview, java, leetcode, problem
- Language: Java
- Homepage:
- Size: 3.06 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Problem Solving Practice Repository
Welcome to my **Problem Solving Practice** repository! 👋
## 🚀 About This 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.
## 🎯 Goals
- Strengthen **algorithmic thinking** and **coding proficiency**.
- Prepare for **coding interviews** with comprehensive practice.
- Build efficient and optimized solutions to challenging problems.## 📚 Topics Covered
### Arrays and Strings
- Sliding Window
- Two Pointers
- Fast and Slow Pointers
- Sorting Algorithms
- Searching Algorithms
- Prefix Sum### Linked Lists and Stacks
- In-place Reversal of a Linked List
- Linked Lists
- Stacks and Queues
- Queues and Deques### Trees and Graphs
- Tree Breadth-First Search
- Tree Depth-First Search
- Topological Sort (Graph)
- Graph Basics and Traversals
- Graph Algorithms (DFS, BFS, Dijkstra's, Floyd-Warshall)### Dynamic Programming
- 0/1 Knapsack
- Longest Common Substring
- Advanced Dynamic Programming
- Bitwise XOR
- Subsets### Greedy Algorithms
- Merge Intervals
- Cyclic Sort
- Greedy Strategies### Divide and Conquer
- Modified Binary Search### Advanced Topics
- 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## 📂 Project Structure
```
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! 🚀