Teknika dva pokazivača koristi dva indeksa koji se kreću kroz niz za rješavanje problema u jednom prolazu — pretvarajući mnoga O(n²) rješenja s brute-force pristupom u O(n).
Ideja
Zadržite dva pokazivača (često na krajevima, ili jedan spora i jedan brz) i pomičite ih na temelju uvjeta, smanjujući rad bez ponovnog skeniranja.
Primjer: pronalaženje para koji se zbrajaju na cilj u sortiranom nizu
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
