Master Problem Tracker — Cross-Topic Capstone¶
repo-র শেষ ledger। এখানকার প্রতিটা problem আগের 2–3টা section মিলিয়ে দেয় — সেই combination প্রতিটা row-তে দেওয়া আছে, কারণ solve করার আগে combination-টা নাম দিয়ে বলা-ই হলো যে skill train করা হচ্ছে।
../README.md-এর disclaimer-টা মনে করিয়ে দিই: style tags publicly discussed interview PATTERNS বর্ণনা করে (Tech Interview Handbook আর NeetCode অনুযায়ী), কোনো verified company question lists না।
কীভাবে ব্যবহার করবে:
- প্রতিটা problem
../README.md-এর 45-minute mock format-এ চালাও, rubric দিয়ে score করো। - statement পড়ার আগে, শুধু title + difficulty দেখে combo-টা guess করো (
../hard-patterns.md-এর drill) আর তোমার note-এ guess-টা লিখে রাখো। - প্রতিটা mock-এর পরে, এই folder-এ একটা note file লেখো, নাম Note file column যা বলে সেটা,
../../templates/ds-problem-note-template.md-এর shared template মেনে। - Status update করো:
planned→attempted→solved→revisit। একটা problemsolvedশুধু তখনই যখন 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 | 1D DP (Kadane) | 02 arrays + 12 DP | 001-maximum-subarray.md | planned |
| 2 | Climbing Stairs — mock conditions-এ warm-up | Easy | LeetCode 70 | 1D DP | 06 recursion + 12 DP | 002-climbing-stairs-mock.md | planned |
| 3 | Merge Two Sorted Lists | Easy | LeetCode 21 | Pointer merge, dummy head | 04 linked lists + 03 sorting ideas | 003-merge-two-sorted-lists.md | planned |
| 4 | Reverse Linked List — iterative AND recursive, এক বসায় | Easy | LeetCode 206 | Pointer surgery | 04 linked lists + 06 recursion | 004-reverse-linked-list-both-ways.md | planned |
| 5 | Linked List Cycle — O(1) space-এ detection | Easy | LeetCode 141 | Slow/fast pointers | 04 linked lists + 02 two-pointer thinking | 005-linked-list-cycle.md | planned |
| 6 | Group Anagrams — content দিয়ে words bucket করা | Medium | LeetCode 49 | Canonical key + hashmap | 02 strings + 05 hashing | 006-group-anagrams.md | planned |
| 7 | Longest Consecutive Sequence — longest integer run, unsorted | Medium | LeetCode 128 | Hash set + run starts | 05 hashing + 02 arrays | 007-longest-consecutive-sequence.md | planned |
| 8 | Number of Islands — grid-এ connected blobs | Medium | LeetCode 200 | Grid flood fill | 09 graphs + 06 recursion (DFS) | 008-number-of-islands.md | planned |
| 9 | Rotting Oranges — multi-source spread-এর minutes | Medium | LeetCode 994 | Multi-source BFS by levels | 09 graphs + 02 grid indexing | 009-rotting-oranges.md | planned |
| 10 | Course Schedule — prerequisites-এর feasibility | Medium | LeetCode 207 | Cycle detection / topo sort | 09 graphs + 05 hashing (adjacency) | 010-course-schedule.md | planned |
| 11 | Merge Intervals — overlaps collapse করা | Medium | LeetCode 56 | Sort + sweep | 03 sorting + 02 arrays | 011-merge-intervals.md | planned |
| 12 | Kth Largest Element in an Array | Medium | LeetCode 215 | Heap of size k vs quickselect | 08 heaps + 03 sorting/partition | 012-kth-largest-element.md | planned |
| 13 | Top K Frequent Elements | Medium | LeetCode 347 | Count + heap | 05 hashing + 08 heaps | 013-top-k-frequent.md | planned |
| 14 | Daily Temperatures — warmer day পর্যন্ত কত দিন | Medium | LeetCode 739 | Monotonic stack | 02 arrays + stack structure (04/stacks) | 014-daily-temperatures.md | planned |
| 15 | Longest Substring Without Repeating Characters | Medium | LeetCode 3 | Sliding window + hashmap | 02 strings + 05 hashing | 015-longest-substring-no-repeat.md | planned |
| 16 | Coin Change — সবচেয়ে কম coins | Medium | LeetCode 322 | Unbounded knapsack DP | 12 DP + 06 recursion (memo form) | 016-coin-change-mock.md | planned |
| 17 | Partition Equal Subset Sum | Medium | LeetCode 416 | Subset-sum DP | 12 DP + 01 math (sum parity prune) | 017-partition-equal-subset-sum.md | planned |
| 18 | Word Break — dictionary segmentation | Medium | LeetCode 139 | Prefix DP + set lookup | 12 DP + 05 hashing + 02 strings | 018-word-break.md | planned |
| 19 | Validate Binary Search Tree | Medium | LeetCode 98 | Range-passing recursion | 07 trees + 06 recursion | 019-validate-bst.md | planned |
| 20 | Lowest Common Ancestor of a Binary Tree | Medium | LeetCode 236 | Post-order reasoning | 07 trees + 06 recursion | 020-lowest-common-ancestor.md | planned |
| 21 | LRU Cache — eviction সহ O(1) get/put | Medium | LeetCode 146 | Hashmap + doubly linked list design | 05 hashing + 04 linked lists | 021-lru-cache.md | planned |
| 22 | Word Ladder — সবচেয়ে ছোট one-letter-change chain | Hard | LeetCode 127 | Implicit graph + BFS + bucketing | 09 graphs + 05 hashing + 02 strings | 022-word-ladder.md | planned |
| 23 | Minimum Window Substring — সবচেয়ে ছোট covering window | Hard | LeetCode 76 | Window + counting hashmap | 02 strings + 05 hashing | 023-minimum-window-substring.md | planned |
| 24 | Merge k Sorted Lists | Hard | LeetCode 23 | Heap over k frontiers | 08 heaps + 04 linked lists + 03 merging | 024-merge-k-sorted-lists.md | planned |
| 25 | Trapping Rain Water — walls-এর মাঝে জল | Hard | LeetCode 42 | Monotonic stack AND two pointers (do both) | 02 arrays + stacks + prefix-max idea (01) | 025-trapping-rain-water.md | planned |
| 26 | Median of Two Sorted Arrays | Hard | LeetCode 4 | Binary search on a partition | 03 binary search + 02 arrays + 01 math invariants | 026-median-two-sorted-arrays.md | planned |
| 27 | Serialize and Deserialize Binary Tree | Hard | LeetCode 297 | Traversal + format design | 07 trees + 06 recursion + 02 string building | 027-serialize-deserialize-tree.md | planned |
| 28 | Longest Increasing Path in a Matrix | Hard | LeetCode 329 | DP on an implicit DAG | 09 graphs + 12 DP + 06 recursion (memo DFS) | 028-longest-increasing-path-matrix.md | planned |
| 29 | Count of Smaller Numbers After Self | Hard | LeetCode 315 | BIT order statistics + compression | 11 Fenwick + 03 sorting + 02 arrays | 029-count-of-smaller-after-self.md | pl |