Η τεχνική δύο δεικτών χρησιμοποιεί δύο ευρετήρια που κινούνται μέσω μιας ακολουθίας για να λύσουν προβλήματα σε ένα μόνο πέρασμα — μετατρέποντας πολλές λύσεις O(n²) βίας σε O(n).
Η ιδέα
Διατηρήστε δύο δείκτες (συχνά στα άκρα, ή έναν αργό και έναν γρήγορο) και μετακινήστε τους με βάση μια συνθήκη, συρρικνώνοντας το έργο χωρίς να ξανασκανάρετε.
Παράδειγμα: ζευγοποίηση που αθροίζεται σε στόχο σε ταξινομημένο πίνακα
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
