# Master Problem Tracker — Cross-Topic Capstone

[অধ্যায়ে ফিরুন](../README.md) · [সহজ ব্যাখ্যা ও ব্যবহার](../learning-guide.md) · [উৎসের তালিকা](../source-map.md)

> **লিংক পড়ার নিয়ম:** Source খুললে প্ল্যাটফর্মের মূল প্রশ্ন, Note file খুললে এই সাইটের ব্যাখ্যা ও সমাধান পাবেন। নোটগুলো আগে থেকেই লেখা আছে। `planned` হলো আপনার ব্যক্তিগত অনুশীলনের অবস্থা, নোট অনুপস্থিত থাকার চিহ্ন নয়। প্ল্যাটফর্মের কিছু প্রশ্নে লগইন বা Premium লাগতে পারে; স্থানীয় নোট সরাসরি পড়া যাবে।

repo-র শেষ ledger। এখানকার প্রতিটা problem আগের 2–3টা section মিলিয়ে দেয় — সেই combination প্রতিটা row-তে দেওয়া আছে, কারণ *solve করার আগে combination-টা নাম দিয়ে বলা*-ই হলো যে skill train করা হচ্ছে।

[../README.md](../README.md)-এর disclaimer-টা মনে করিয়ে দিই: style tags publicly discussed interview PATTERNS বর্ণনা করে ([Tech Interview Handbook](https://www.techinterviewhandbook.org/) আর [NeetCode](https://neetcode.io/roadmap) অনুযায়ী), কোনো verified company question lists না।

কীভাবে ব্যবহার করবে:

- প্রতিটা problem [../README.md](../README.md)-এর 45-minute mock format-এ চালাও, rubric দিয়ে score করো।
- statement পড়ার আগে, শুধু title + difficulty দেখে combo-টা guess করো ([../hard-patterns.md](../hard-patterns.md)-এর drill) আর তোমার note-এ guess-টা লিখে রাখো।
- প্রতিটা mock-এর পরে, এই folder-এ একটা note file লেখো, নাম **Note file** column যা বলে সেটা, [../../templates/ds-problem-note-template.md](../../templates/ds-problem-note-template.md)-এর shared template মেনে।
- **Status** update করো: `planned` → `attempted` → `solved` → `revisit`। একটা problem `solved` শুধু তখনই যখন rubric 12+/16।
- Statements আমাদের নিজের ভাষায় paraphrase করা; সবসময় link-এ official statement পড়ো।

## The master table

| # | Problem | Difficulty | Source | Pattern | Repo sections it combines | Note file | Status |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | Maximum Subarray — সেরা contiguous sum | Easy | [LeetCode 53](https://leetcode.com/problems/maximum-subarray/) | 1D DP (Kadane) | 02 arrays + 12 DP | [001-maximum-subarray.md](001-maximum-subarray.md) | planned |
| 2 | Climbing Stairs — mock conditions-এ warm-up | Easy | [LeetCode 70](https://leetcode.com/problems/climbing-stairs/) | 1D DP | 06 recursion + 12 DP | [002-climbing-stairs-mock.md](002-climbing-stairs-mock.md) | planned |
| 3 | Merge Two Sorted Lists | Easy | [LeetCode 21](https://leetcode.com/problems/merge-two-sorted-lists/) | Pointer merge, dummy head | 03 linked lists + sorting ideas | [003-merge-two-sorted-lists.md](003-merge-two-sorted-lists.md) | planned |
| 4 | Reverse Linked List — iterative AND recursive, এক বসায় | Easy | [LeetCode 206](https://leetcode.com/problems/reverse-linked-list/) | Pointer surgery | 03 linked lists + 06 recursion | [004-reverse-linked-list-both-ways.md](004-reverse-linked-list-both-ways.md) | planned |
| 5 | Linked List Cycle — O(1) space-এ detection | Easy | [LeetCode 141](https://leetcode.com/problems/linked-list-cycle/) | Slow/fast pointers | 03 linked lists + 02 two-pointer thinking | [005-linked-list-cycle.md](005-linked-list-cycle.md) | planned |
| 6 | Group Anagrams — content দিয়ে words bucket করা | Medium | [LeetCode 49](https://leetcode.com/problems/group-anagrams/) | Canonical key + hashmap | 02 strings + 05 hashing | [006-group-anagrams.md](006-group-anagrams.md) | planned |
| 7 | Longest Consecutive Sequence — longest integer run, unsorted | Medium | [LeetCode 128](https://leetcode.com/problems/longest-consecutive-sequence/) | Hash set + run starts | 05 hashing + 02 arrays | [007-longest-consecutive-sequence.md](007-longest-consecutive-sequence.md) | planned |
| 8 | Number of Islands — grid-এ connected blobs | Medium | [LeetCode 200](https://leetcode.com/problems/number-of-islands/) | Grid flood fill | 09 graphs + 06 recursion (DFS) | [008-number-of-islands.md](008-number-of-islands.md) | planned |
| 9 | Rotting Oranges — multi-source spread-এর minutes | Medium | [LeetCode 994](https://leetcode.com/problems/rotting-oranges/) | Multi-source BFS by levels | 09 graphs + 02 grid indexing | [009-rotting-oranges.md](009-rotting-oranges.md) | planned |
| 10 | Course Schedule — prerequisites-এর feasibility | Medium | [LeetCode 207](https://leetcode.com/problems/course-schedule/) | Cycle detection / topo sort | 09 graphs + 05 hashing (adjacency) | [010-course-schedule.md](010-course-schedule.md) | planned |
| 11 | Merge Intervals — overlaps collapse করা | Medium | [LeetCode 56](https://leetcode.com/problems/merge-intervals/) | Sort + sweep | sorting + 02 arrays | [011-merge-intervals.md](011-merge-intervals.md) | planned |
| 12 | Kth Largest Element in an Array | Medium | [LeetCode 215](https://leetcode.com/problems/kth-largest-element-in-an-array/) | Heap of size k vs quickselect | 08 heaps + sorting/partition | [012-kth-largest-element.md](012-kth-largest-element.md) | planned |
| 13 | Top K Frequent Elements | Medium | [LeetCode 347](https://leetcode.com/problems/top-k-frequent-elements/) | Count + heap | 05 hashing + 08 heaps | [013-top-k-frequent.md](013-top-k-frequent.md) | planned |
| 14 | Daily Temperatures — warmer day পর্যন্ত কত দিন | Medium | [LeetCode 739](https://leetcode.com/problems/daily-temperatures/) | Monotonic stack | 02 arrays + stack structure (04 stack and queue) | [014-daily-temperatures.md](014-daily-temperatures.md) | planned |
| 15 | Longest Substring Without Repeating Characters | Medium | [LeetCode 3](https://leetcode.com/problems/longest-substring-without-repeating-characters/) | Sliding window + hashmap | 02 strings + 05 hashing | [015-longest-substring-no-repeat.md](015-longest-substring-no-repeat.md) | planned |
| 16 | Coin Change — সবচেয়ে কম coins | Medium | [LeetCode 322](https://leetcode.com/problems/coin-change/) | Unbounded knapsack DP | 12 DP + 06 recursion (memo form) | [016-coin-change-mock.md](016-coin-change-mock.md) | planned |
| 17 | Partition Equal Subset Sum | Medium | [LeetCode 416](https://leetcode.com/problems/partition-equal-subset-sum/) | Subset-sum DP | 12 DP + 01 math (sum parity prune) | [017-partition-equal-subset-sum.md](017-partition-equal-subset-sum.md) | planned |
| 18 | Word Break — dictionary segmentation | Medium | [LeetCode 139](https://leetcode.com/problems/word-break/) | Prefix DP + set lookup | 12 DP + 05 hashing + 02 strings | [018-word-break.md](018-word-break.md) | planned |
| 19 | Validate Binary Search Tree | Medium | [LeetCode 98](https://leetcode.com/problems/validate-binary-search-tree/) | Range-passing recursion | 07 trees + 06 recursion | [019-validate-bst.md](019-validate-bst.md) | planned |
| 20 | Lowest Common Ancestor of a Binary Tree | Medium | [LeetCode 236](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/) | Post-order reasoning | 07 trees + 06 recursion | [020-lowest-common-ancestor.md](020-lowest-common-ancestor.md) | planned |
| 21 | LRU Cache — eviction সহ O(1) get/put | Medium | [LeetCode 146](https://leetcode.com/problems/lru-cache/) | Hashmap + doubly linked list design | 05 hashing + 03 linked lists | [021-lru-cache.md](021-lru-cache.md) | planned |
| 22 | Word Ladder — সবচেয়ে ছোট one-letter-change chain | Hard | [LeetCode 127](https://leetcode.com/problems/word-ladder/) | Implicit graph + BFS + bucketing | 09 graphs + 05 hashing + 02 strings | [022-word-ladder.md](022-word-ladder.md) | planned |
| 23 | Minimum Window Substring — সবচেয়ে ছোট covering window | Hard | [LeetCode 76](https://leetcode.com/problems/minimum-window-substring/) | Window + counting hashmap | 02 strings + 05 hashing | [023-minimum-window-substring.md](023-minimum-window-substring.md) | planned |
| 24 | Merge k Sorted Lists | Hard | [LeetCode 23](https://leetcode.com/problems/merge-k-sorted-lists/) | Heap over k frontiers | 08 heaps + 03 linked lists + two-way merging | [024-merge-k-sorted-lists.md](024-merge-k-sorted-lists.md) | planned |
| 25 | Trapping Rain Water — walls-এর মাঝে জল | Hard | [LeetCode 42](https://leetcode.com/problems/trapping-rain-water/) | Monotonic stack AND two pointers (do both) | 02 arrays + stacks + prefix-max idea (01) | [025-trapping-rain-water.md](025-trapping-rain-water.md) | planned |
| 26 | Median of Two Sorted Arrays | Hard | [LeetCode 4](https://leetcode.com/problems/median-of-two-sorted-arrays/) | Binary search on a partition | binary search (math level 07) + 02 arrays + 01 math invariants | [026-median-two-sorted-arrays.md](026-median-two-sorted-arrays.md) | planned |
| 27 | Serialize and Deserialize Binary Tree | Hard | [LeetCode 297](https://leetcode.com/problems/serialize-and-deserialize-binary-tree/) | Traversal + format design | 07 trees + 06 recursion + 02 string building | [027-serialize-deserialize-tree.md](027-serialize-deserialize-tree.md) | planned |
| 28 | Longest Increasing Path in a Matrix | Hard | [LeetCode 329](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/) | DP on an implicit DAG | 09 graphs + 12 DP + 06 recursion (memo DFS) | [028-longest-increasing-path-matrix.md](028-longest-increasing-path-matrix.md) | planned |
| 29 | Count of Smaller Numbers After Self | Hard | [LeetCode 315](https://leetcode.com/problems/count-of-smaller-numbers-after-self/) | BIT order statistics + compression | 11 Fenwick + sorting + 02 arrays | [029-count-of-smaller-after-self.md](029-count-of-smaller-after-self.md) | planned |
