Teknik dua-penunjuk menggunakan dua indeks yang bergerak melalui urutan untuk menyelesaikan masalah dalam satu lintasan — mengubah banyak solusi brute-force O(n²) menjadi O(n).
Idenya
Pertahankan dua penunjuk (sering di ujung, atau satu lambat dan satu cepat) dan gerakkan berdasarkan kondisi, mengurangi pekerjaan tanpa pemindaian ulang.
Contoh: menemukan sepasang yang berjumlah ke target dalam array yang diurutkan
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
