Two-pointer technique は、sequence 内を動く 2 つの index を使い、多くの O(n²) brute-force solution を O(n) に変える pattern です。
考え方
2 つの pointer(両端から、または slow/fast)を保ち、condition に応じて動かします。再 scan せずに work を縮めます。
例: sorted array で target sum の pair を探す
python
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
