Two-pointer 기법은 시퀀스를 따라 이동하는 두 개의 인덱스를 사용하여 한 번의 순회로 문제를 해결합니다 — 많은 O(n²) 무차별 대입 해법을 **O(n)**으로 바꿉니다.
개념
두 포인터(보통 양 끝, 또는 느린 포인터 하나와 빠른 포인터 하나)를 유지하고 조건에 따라 이동시켜, 다시 스캔하지 않으면서 작업을 줄여 나갑니다.
예시: 정렬된 배열에서 목표 합이 되는 쌍 찾기
python
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
