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.
#sorting · Tất cả bài viết
Series
Thẻ
- #leetcode 50
- #array 13
- #dfs 11
- #recursion 10
- #bfs 9
- #dynamic-programming 9
- #arrays 7
- #hash-table 7
- #trees 7
- #binary-search 6
- #two-pointers 6
- #string 5
- #backtracking 4
- #dp 4
- #graphs 4
- #greedy 4
- #matrix 4
- #sliding-window 4
- #hash-map 3
- #heap-priority-queue 3
- #linked-list 3
- #binary-search-tree 2
- #heap 2
- #math 2
- #memoization 2
- #priority-queue 2
- #sorting 2
- #stack 2
- #strings 2
- #binary-tree 1
- #bit-manipulation 1
- #bucket-sort 1
- #counting 1
- #cycle-detection 1
- #divide-and-conquer 1
- #geometry 1
- #kadane 1
- #multi-source-bfs 1
- #prefix-sum 1
- #quickselect 1
- #simulation 1
- #string-matching 1
- #topological-sort 1
- #union-find 1
01
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
02
3Sum: two pointers bên trong một vòng lặp đã sắp xếp
3Sum đưa Two Sum II lên một cấp: cố định một phần tử, sau đó chạy Two Sum II trên phần còn lại. Sắp xếp trước cho phép bạn bỏ qua các phần tử trùng lặp một cách gọn gàng — đây là phần khó mà hầu hết các cách implement hay sai.13 thg 6, 2026 · 13 phút đọc · #00014
Đô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.