De two-pointer-techniek gebruikt twee indices die door een reeks bewegen om problemen in één pass op te lossen — veel O(n²) brute-force-oplossingen worden omgezet naar O(n).
Het idee
Behoud twee pointers (vaak aan de uiteinden, of één langzaam en één snel) en verplaats ze op basis van een voorwaarde, waardoor het werk inkrimpt zonder opnieuw te scannen.
Voorbeeld: getallenparen die optellen tot een doel in een gesorteerde array
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
