BÀI VIẾT
Ghi chép về xây dựng và vận hành hệ thống
Bài kỹ thuật — kiến trúc, bảo mật, và đôi khi là chuyện chiến trường.
#monotonic-stack · Tất cả bài viết
Series
Thẻ
- #leetcode 50
- #dfs 17
- #recursion 16
- #bfs 10
- #trees 10
- #two-pointers 9
- #linked-list 8
- #backtracking 7
- #graphs 7
- #array 6
- #hash-map 6
- #heap-priority-queue 6
- #design 5
- #dynamic-programming 5
- #matrix 5
- #stack 5
- #cycle-detection 4
- #greedy 4
- #binary-search 3
- #binary-search-tree 3
- #binary-tree 3
- #divide-and-conquer 3
- #hard 3
- #monotonic-stack 3
- #sorting 3
- #string 3
- #arrays 2
- #data-stream 2
- #data-structures 2
- #dp 2
- #hash-table 2
- #in-place 2
- #math 2
- #priority-queue 2
- #simulation 2
- #sliding-window 2
- #topological-sort 2
- #arrays-hashing 1
- #bit-manipulation 1
- #combinatorics 1
- #constraint-satisfaction 1
- #constraint-validation 1
- #counting 1
- #depth-first-search 1
- #dummy-node 1
- #feasibility 1
- #flood-fill 1
- #gap-technique 1
- #geometry 1
- #hash-set 1
- #heap 1
- #kadane 1
- #level-order 1
- #memoization 1
- #monotonic 1
- #monotonic-deque 1
- #next-greater-element 1
- #optimization 1
- #palindrome 1
- #post-order 1
- #queue 1
- #quickselect 1
- #strings 1
- #two-pass 1
- #two-stacks 1
- #union-find 1
01
Largest Rectangle in Histogram: monotonic stack như một chiếc oracle tìm biên
Mỗi thanh trong histogram đều có thể là chiều cao của một hình chữ nhật lớn nhất — câu hỏi là nó có thể mở rộng rộng bao nhiêu. Monotonic stack trả lời điều đó trong O(n) bằng cách cho bạn biết chính xác khi nào mỗi thanh không còn là chiều cao tối thiểu nữa. Brute force làm rõ bài toán, stack làm cho nó nhanh.14 thg 6, 2026 · 13 phút đọc · #00060
02
Car Fleet: khi thời gian đến đích thu gọn simulation thành một lần quét stack
Car Fleet (LeetCode 853) trông như bài toán simulation. Thực ra không phải. Khi bạn nhận ra rằng hai xe hợp thành một đoàn khi và chỉ khi thời gian đến đích của xe sau không lớn hơn xe trước, cả bài toán quy về một lần quét monotone stack trên mảng thời gian đã sắp xếp. Bài viết này phân tích cả brute-force simulation lẫn giải pháp sort-plus-stack tối ưu, với trace tay đầy đủ, phân tích edge case, và quan điểm cá nhân về cái nào thực sự nên viết.14 thg 6, 2026 · 15 phút đọc · #00059
03
Daily Temperatures: monotonic stack như một cỗ máy trả lời trì hoãn
Với mỗi ngày, bạn cần tìm ngày tiếp theo có nhiệt độ cao hơn. Brute force kiểm tra mọi thứ hai lần. Monotonic stack xử lý mỗi phần tử đúng một lần bằng cách lật ngược vấn đề: thay vì từng ngày tự tìm về phía trước, các ngày mới đến sẽ tự mình giải quyết tài khoản còn nợ của những ngày mà chúng vượt trội hơn. Phạm vi nhiệt độ giới hạn còn cho phép đẩy xa hơn với một mảng lookup kích thước cố định.14 thg 6, 2026 · 13 phút đọc · #00058
Đô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.