SERIES
Heap / Priority Queue
Build the heap reflex: when a problem asks for the k-th, the closest, the most frequent, or a streaming median, reach for a priority queue instead of sorting.
Trong series nàyBẢN TIN
01
Phần tử lớn thứ K: ba cách tránh phải sort toàn bộ mảng
Tìm phần tử lớn thứ K trong mảng trông đơn giản — cho đến khi bạn gặp trường hợp sort quá chậm hoặc dữ liệu đến dạng stream. Min heap và QuickSelect giải quyết hai phiên bản khác nhau của vấn đề đó, và hiểu khi nào dùng cái nào quan trọng hơn việc thuộc lòng cả hai.14 thg 6, 2026 · 13 phút đọc · #00037
02
Last Stone Weight: minh họa đơn giản nhất của heap
Một bài mô phỏng đập đá — luôn chọn hai viên nặng nhất — thực ra chỉ là vòng lặp rút phần tử từ max-heap. Phần thú vị là cách các constraint loại bỏ hết mọi lựa chọn khác trước khi bạn mở editor.14 thg 6, 2026 · 9 phút đọc · #00038
03
K Closest Points to Origin: sort toàn bộ, min heap, và khi nào nên dùng bounded max heap
Ba approach để tìm k điểm gần gốc tọa độ nhất — sort toàn bộ, min heap, và bounded max heap giúp cắt bộ nhớ từ O(n) xuống O(k). Approach cuối mới là thứ tôi thực sự dùng trong production.14 thg 6, 2026 · 11 phút đọc · #00039
04
Task Scheduler: bài toán idle time và khi nào công thức đánh bại heap
LeetCode 621 yêu cầu tìm số khoảng thời gian CPU tối thiểu để chạy các task với ràng buộc cooldown. Hai cách tiếp cận — simulation bằng heap và công thức toán học — cho thấy một chút phân tích pattern có thể thay thế hàng nghìn vòng lặp mô phỏng.14 thg 6, 2026 · 13 phút đọc · #00040
Đôi dòng ghi chép về những gì tôi đang xây
Nhận email khi tôi đăng bài mới — các bài kỹ thuật, không spam. Hủy đăng ký bất cứ lúc nào.