Die Zwei-Pointer-Technik nutzt zwei Indizes, die sich durch eine Sequenz bewegen, um Probleme in einem einzigen Durchlauf zu lösen — viele O(n²) Brute-Force-Lösungen werden in O(n) umgewandelt.
Die Idee
Halten Sie zwei Zeiger (oft an den Enden, oder einen langsamen und einen schnellen) und bewegen Sie sie basierend auf einer Bedingung, um die Arbeit zu reduzieren, ohne erneut zu scannen.
Beispiel: Paare addieren sich zu einem Ziel in einem sortierten Array
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
