A két-mutató technika két indexet használ, amelyek egy sorozaton keresztül mozognak a problémák egyetlen menetben történő megoldásához — számos O(n²) brute-force megoldást O(n) megoldássá alakít.
Az ötlet
Tartson két mutatót (gyakran a végeken, vagy egy lassú és egy gyors), és mozgassa őket egy feltétel alapján, csökkentve a munkát újraszkennelés nélkül.
Példa: egy párnak a célt összegezni egy rendezett tömbben
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
