https://github.com/crisnguyendev/problem-solving-practice-kotlin
A Kotlin-based repository for practicing and mastering algorithms and data structures. Featuring challenges from platforms like LeetCode, it covers everything from basic arrays and strings to advanced topics like heaps, tries, and segment trees with custom implementations.
https://github.com/crisnguyendev/problem-solving-practice-kotlin
data-structures-and-algorithms dsa kotlin leetcode problem-solving
Last synced: 8 months ago
JSON representation
A Kotlin-based repository for practicing and mastering algorithms and data structures. Featuring challenges from platforms like LeetCode, it covers everything from basic arrays and strings to advanced topics like heaps, tries, and segment trees with custom implementations.
- Host: GitHub
- URL: https://github.com/crisnguyendev/problem-solving-practice-kotlin
- Owner: crisnguyendev
- License: mit
- Created: 2025-03-27T05:06:19.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-03-31T15:23:31.000Z (8 months ago)
- Last Synced: 2025-03-31T16:50:12.111Z (8 months ago)
- Topics: data-structures-and-algorithms, dsa, kotlin, leetcode, problem-solving
- Language: Kotlin
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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 **Kotlin**. 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! 🚀