Two-pointer-teknikken bruker to indekser som beveger seg gjennom en sekvens for å løse problemer i en enkelt gjennomgang — mange O(n²) brute-force-løsninger blir til O(n).
Ideen
Behold to pekere (ofte i endene, eller en sakte og en rask) og flytt dem basert på en betingelse, og krympe arbeidet uten å skanne på nytt.
Eksempel: tallpar som summerer til et mål i en sortert array
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
