Technika dwóch wskaźników wykorzystuje dwa indeksy poruszające się przez sekwencję, aby rozwiązać problemy w jednym przejściu — zamieniając wiele rozwiązań O(n²) na siłę w O(n).
Pomysł
Zachowaj dwa wskaźniki (często na końcach, lub jeden wolny i jeden szybki) i poruszaj nimi na podstawie warunku, zmniejszając pracę bez ponownego skanowania.
Przykład: pary sumujące się do celu w posortowanej tablicy
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
