Skip to content

Heap / Priority Queue — Problem Tracker

এই folder টা heap-এর practice problem গুলো track করে। প্রতিটা problem-এর জন্য নিজের একটা note file থাকবে (Note file column-এ নাম দেওয়া), যেটা ../../templates/ds-problem-note-template.md-এর 24-section template দিয়ে লেখা — analogy, pattern, thinking tweak, dry run, complexity, mistakes, আর বাকি সব। উপর থেকে নিচে কাজ করো: list টা easy থেকে hard-এ সাজানো, আর পরের problem গুলো আগের problem-এর move গুলোই আবার ব্যবহার করে।

এই tracker কীভাবে ব্যবহার করবে:

  1. মূল ../README.md-র practice list-এর link দিয়ে official statement টা পড়ো।
  2. আগে নিজে problem টা attempt করো — কিছু দেখার আগে অন্তত 25 মিনিট।
  3. Note file টা বানাও, template ভরো, Status-কে solved করো (বা সে লড়াই দিলে revisit)।
  4. এক সপ্তাহ পরে revisit-status-এর problem গুলোয় আবার ফিরে এসো।

Status values: plannedattemptedsolved / revisit

Tracker

# Problem Difficulty Source Pattern Inherits from Note file Status
1 Last Stone Weight Easy LeetCode 1046 Heap + greedy (smash two largest) 08 heapq basics 001-last-stone-weight.md planned
2 Kth Largest Element in a Stream Easy LeetCode 703 Top-K (size-k min-heap) 08 top-K pattern 002-kth-largest-element-in-a-stream.md planned
3 Relative Ranks Easy LeetCode 506 Heap / sorting warm-up 02-arrays-and-strings sorting 003-relative-ranks.md planned
4 Ferris Wheel Easy CSES Problem Set — "Ferris Wheel" Greedy pairing of extremes 02-arrays-and-strings two pointers 004-ferris-wheel.md planned
5 Kth Largest Element in an Array Medium LeetCode 215 Top-K 08 top-K pattern 005-kth-largest-element-in-an-array.md planned
6 Top K Frequent Elements Medium LeetCode 347 Top-K + counting 05-hashing frequency maps 006-top-k-frequent-elements.md planned
7 K Closest Points to Origin Medium LeetCode 973 Top-K (max-heap of size k) 08 top-K pattern 007-k-closest-points-to-origin.md planned
8 Sort Characters By Frequency Medium LeetCode 451 Heap + counting 05-hashing frequency maps 008-sort-characters-by-frequency.md planned
9 Meeting Rooms II Medium LeetCode 253 Scheduling by earliest end 02-arrays-and-strings interval sorting 009-meeting-rooms-ii.md planned
10 Task Scheduler Medium LeetCode 621 Heap + greedy (most frequent first) 05-hashing counting 010-task-scheduler.md planned
11 Reorganize String Medium LeetCode 767 Heap + greedy 05-hashing counting 011-reorganize-string.md planned
12 Kth Smallest Element in a Sorted Matrix Medium LeetCode 378 K-way merge 08 k-way merge 012-kth-smallest-in-sorted-matrix.md planned
13 Single-Threaded CPU Medium LeetCode 1834 Scheduling / simulation 04-stack-and-queue queue thinking 013-single-threaded-cpu.md planned
14 Furthest Building You Can Reach Medium LeetCode 1642 Heap + greedy (ladders on big climbs) 08 top-K twist 014-furthest-building-you-can-reach.md planned
15 Concert Tickets Medium CSES Problem Set — "Concert Tickets" Ordered multiset thinking 05-hashing / sorted structures 015-concert-tickets.md planned
16 Sliding Window Maximum (heap variant) Hard LeetCode 239 Lazy deletion 04-stack-and-queue monotonic deque 016-sliding-window-maximum-heap.md planned
17 Merge k Sorted Lists Hard LeetCode 23 K-way merge 03-linked-list + 08 k-way merge 017-merge-k-sorted-lists.md planned
18 Find Median from Data Stream Hard LeetCode 295 Two heaps 08 two-heaps pattern 018-find-median-from-data-stream.md planned
19 IPO Hard LeetCode 502 Two heaps + greedy 08 two heaps + greedy 019-ipo.md planned
20 Smallest Range Covering Elements from K Lists Hard LeetCode 632 K-way merge + window 02-arrays-and-strings sliding window 020-smallest-range-k-lists.md planned
21 Sliding Window Median Hard LeetCode 480 Two heaps + lazy deletion 08 two heaps + lazy deletion 021-sliding-window-median.md planned
22 Trapping Rain Water II Hard LeetCode 407 Heap + BFS from border 09-graphs BFS 022-trapping-rain-water-ii.md planned

Suggested milestones (পরামর্শমতো মাইলফলক)

  • 4-এর পর: notes না দেখেই heapq আর negate-for-max trick ব্যবহার করতে পারবে।

  • 8-এর পর: top-K automatic মনে হওয়া উচিত — জোরে বলো, "min-heap guards the club door"।

  • 15-এর পর: একটা greedy idea-র সাথে heap জোড়া লাগাতে পারবে, নিজে নিজেই।

  • 22-এর পর: heap + আরেকটা structure (window, list, grid BFS) আর ভয় দেখায় না। এগিয়ে যাও ../../09-graphs/-এ — Dijkstra অপেক্ষা করছে, আর সে আসলে এই heap-টাই, graph-এর পোশাক পরে।