Two Pointers phù hợp khi có hai vị trí di chuyển có quy luật và mỗi bước loại bỏ được một phần search space.
- Dạng phổ biến: sorted array tìm pair sum, palindrome, merge hai mảng/list đã sort, remove duplicates in-place, fast/slow pointer trong linked list.
- Điều kiện thường gặp là input đã sort hoặc có thể sort được, vì khi tổng quá nhỏ ta tăng left, tổng quá lớn ta giảm right.
- Nếu input không có thứ tự và không thể sort vì cần giữ index gốc, HashMap thường phù hợp hơn.