Kaksiosoittimen tekniikka käyttää kahta indeksiä, jotka liikkuvat jonon läpi ongelmien ratkaisemiseksi yhdessä läpäisyssä — muuttaen monet O(n²) väkivaltaiset ratkaisut O(n) ratkaisuiksi.
Ajatus
Pidä kaksi osoitinta (usein päissä, tai yksi hidas ja yksi nopea) ja siirrä niitä ehdon perusteella, pienentäen työtä ilman uudelleenskannaamista.
Esimerkki: parien summa tavoitteeseen järjestetyissä taulukossa
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
