Kotlin DSA Series — Complete Index
Kotlin DSA Series — Complete Index
A complete Data Structures & Algorithms series written in idiomatic Kotlin. Not Java translated to .kt — real Kotlin the way it’s meant to be written.
🟢 Phase 1 — Arrays & Hashing
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #1 | Two Sum | Easy | Read → |
| #121 | Best Time to Buy and Sell Stock | Easy | Read → |
| #217 | Contains Duplicate | Easy | Read → |
| #242 | Valid Anagram | Easy | Read → |
| #238 | Product of Array Except Self | Medium | Read → |
| #53 | Maximum Subarray | Medium | Read → |
| #49 | Group Anagrams | Medium | Read → |
| #347 | Top K Frequent Elements | Medium | Read → |
| #271 | Encode and Decode Strings | Medium | Read → |
| #36 | Valid Sudoku | Medium | Read → |
| #128 | Longest Consecutive Sequence | Medium | Read → |
🟡 Phase 2 — Two Pointers
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #125 | Valid Palindrome | Easy | Read → |
| #167 | Two Sum II — Input Array Is Sorted | Medium | Read → |
| #15 | 3Sum | Medium | Read → |
| #11 | Container With Most Water | Medium | Read → |
| #42 | Trapping Rain Water | Hard | Read → |
🟠 Phase 3 — Stack
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #20 | Valid Parentheses | Easy | Read → |
| #155 | Min Stack | Medium | Read → |
| #150 | Evaluate Reverse Polish Notation | Medium | Read → |
| #739 | Daily Temperatures | Medium | Read → |
| #853 | Car Fleet | Medium | Read → |
| #84 | Largest Rectangle In Histogram | Hard | Read → |
🔵 Phase 4 — Binary Search
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #704 | Binary Search | Easy | Read → |
| #74 | Search a 2D Matrix | Medium | Read → |
| #875 | Koko Eating Bananas | Medium | Read → |
| #153 | Find Minimum In Rotated Sorted Array | Medium | Read → |
| #33 | Search In Rotated Sorted Array | Medium | Read → |
| #981 | Time Based Key-Value Store | Medium | Read → |
| #4 | Median of Two Sorted Arrays | Hard | Read → |
🟣 Phase 5 — Sliding Window
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #121 | Best Time to Buy And Sell Stock | Easy | Read → |
| #3 | Longest Substring Without Repeating Characters | Medium | Read → |
| #424 | Longest Repeating Character Replacement | Medium | Read → |
| #567 | Permutation In String | Medium | Read → |
| #76 | Minimum Window Substring | Hard | Read → |
| #239 | Sliding Window Maximum | Hard | Read → |
🟢 Phase 6 — Linked List
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #206 | Reverse Linked List | Easy | Read → |
| #21 | Merge Two Sorted Lists | Easy | Read → |
| #141 | Linked List Cycle | Easy | Read → |
| #143 | Reorder List | Medium | Read → |
| #19 | Remove Nth Node From End of List | Medium | Read → |
| #138 | Copy List With Random Pointer | Medium | Read → |
| #2 | Add Two Numbers | Medium | Read → |
| #287 | Find The Duplicate Number | Medium | Read → |
| #146 | LRU Cache | Medium | Read → |
| #23 | Merge K Sorted Lists | Hard | Read → |
| #25 | Reverse Nodes In K-Group | Hard | Read → |
🔴 Phase 7 — Trees
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #226 | Invert Binary Tree | Easy | Read → |
| #104 | Maximum Depth of Binary Tree | Easy | Read → |
| #543 | Diameter of Binary Tree | Easy | Read → |
| #110 | Balanced Binary Tree | Easy | Read → |
| #100 | Same Tree | Easy | Read → |
| #572 | Subtree of Another Tree | Easy | Read → |
| #235 | Lowest Common Ancestor of a Binary Search Tree | Medium | Read → |
| #102 | Binary Tree Level Order Traversal | Medium | Read → |
| #199 | Binary Tree Right Side View | Medium | Read → |
| #1448 | Count Good Nodes In Binary Tree | Medium | Read → |
| #98 | Validate Binary Search Tree | Medium | Read → |
| #230 | Kth Smallest Element In a BST | Medium | Read → |
| #105 | Construct Binary Tree From Preorder And Inorder Traversal | Medium | Read → |
| #124 | Binary Tree Maximum Path Sum | Hard | Read → |
| #297 | Serialize And Deserialize Binary Tree | Hard | Read → |
🟤 Phase 8 — Trie
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #208 | Implement Trie (Prefix Tree) | Medium | Read → |
| #211 | Design Add And Search Words Data Structure | Medium | Read → |
| #212 | Word Search II | Hard | Read → |
⚪ Phase 9 — Heap / Priority Queue
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #703 | Kth Largest Element In a Stream | Easy | Read → |
| #1046 | Last Stone Weight | Easy | Read → |
| #973 | K Closest Points to Origin | Medium | Read → |
| #215 | Kth Largest Element In An Array | Medium | Read → |
| #621 | Task Scheduler | Medium | Read → |
| #355 | Design Twitter | Medium | Read → |
| #295 | Find Median From Data Stream | Hard | Read → |
🟢 Phase 10 — Backtracking
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #78 | Subsets | Medium | Read → |
| #39 | Combination Sum | Medium | Read → |
| #40 | Combination Sum II | Medium | Read → |
| #46 | Permutations | Medium | Read → |
| #90 | Subsets II | Medium | Read → |
| #22 | Generate Parentheses | Medium | Read → |
| #79 | Word Search | Medium | Read → |
| #131 | Palindrome Partitioning | Medium | Read → |
| #17 | Letter Combinations of a Phone Number | Medium | Read → |
| #51 | N Queens | Hard | Read → |
🔵 Phase 11 — Graphs
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #200 | Number of Islands | Medium | Read → |
| #695 | Max Area of Island | Medium | Read → |
| #133 | Clone Graph | Medium | Read → |
| #286 | Walls And Gates | Medium | Read → |
| #994 | Rotting Oranges | Medium | Read → |
| #417 | Pacific Atlantic Water Flow | Medium | Read → |
| #130 | Surrounded Regions | Medium | Read → |
| #207 | Course Schedule | Medium | Read → |
| #210 | Course Schedule II | Medium | Read → |
| #261 | Graph Valid Tree | Medium | Read → |
| #323 | Number of Connected Components In An Undirected Graph | Medium | Read → |
| #684 | Redundant Connection | Medium | Read → |
| #127 | Word Ladder | Hard | Read → |
🟡 Phase 12 - 1-D Dynamic Programming
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #70 | Climbing Stairs | Easy | Read → |
| #746 | Min Cost Climbing Stairs | Easy | Read → |
| #198 | House Robber | Medium | Read → |
| #213 | House Robber II | Medium | Read → |
| #5 | Longest Palindromic Substring | Medium | Read → |
| #647 | Palindromic Substrings | Medium | Read → |
| #91 | Decode Ways | Medium | Read → |
| #322 | Coin Change | Medium | Read → |
| #152 | Maximum Product Subarray | Medium | Read → |
| #139 | Word Break | Medium | Read → |
| #300 | Longest Increasing Subsequence | Medium | Read → |
| #416 | Partition Equal Subset Sum | Medium | Read → |
🔶 Phase 13 - Intervals
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #57 | Insert Interval | Medium | Read → |
| #56 | Merge Intervals | Medium | Read → |
| #435 | Non Overlapping Intervals | Medium | Read → |
| #252 | Meeting Rooms | Easy | Read → |
| #253 | Meeting Rooms II | Medium | Read → |
| #1851 | Minimum Interval to Include Each Query | Hard | Read → |
🟣 Phase 14 - Greedy
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #53 | Maximum Subarray | Medium | Read → |
| #55 | Jump Game | Medium | Read → |
| #45 | Jump Game II | Medium | Read → |
| #134 | Gas Station | Medium | Read → |
| #846 | Hand of Straights | Medium | Read → |
| #2382 | Merge Triplets to Form Target Triplet | Medium | Read → |
| #763 | Partition Labels | Medium | Read → |
| #678 | Valid Parenthesis String | Medium | Read → |
🟠 Phase 15 - Advanced Graphs
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #743 | Network Delay Time | Medium | Read → |
| #332 | Reconstruct Itinerary | Hard | Read → |
| #1584 | Min Cost to Connect All Points | Medium | Read → |
| #778 | Swim In Rising Water | Hard | Read → |
| #269 | Alien Dictionary | Hard | Read → |
| #787 | Cheapest Flights Within K Stops | Medium | Read → |
🟤 Phase 16 - 2-D Dynamic Programming
| LC # | Problem | Difficulty | Post |
|---|---|---|---|
| #62 | Unique Paths | Medium | Read → |
| #1143 | Longest Common Subsequence | Medium | Read → |
| #309 | Best Time to Buy And Sell Stock With Cooldown | Medium | Read → |
| #518 | Coin Change II | Medium | Read → |
| #494 | Target Sum | Medium | Read → |
| #97 | Interleaving String | Medium | Read → |
| #329 | Longest Increasing Path In a Matrix | Hard | Read → |
| #115 | Distinct Subsequences | Hard | Read → |
| #72 | Edit Distance | Medium | Read → |
| #312 | Burst Balloons | Hard | Read → |
| #10 | Regular Expression Matching | Hard | Read → |
This index is updated every time a new post is published. Bookmark this page.
This post is licensed under CC BY 4.0 by the author.