Sliding-window 기법은 배열이나 문자열 위에 연속된 범위(윈도우)를 유지하고, 처음부터 다시 계산하는 대신 윈도우를 미끄러뜨려 많은 부분 배열/부분 문자열 문제를 **O(n)**으로 해결합니다.
개념
오른쪽 끝을 이동하여 윈도우를 확장하고, 제약이 위반되면 왼쪽 끝을 이동하여 축소합니다. 다시 스캔하는 대신 이전 계산을 재사용합니다.
예시: 크기 k인 임의 윈도우의 최대 합
python
():
window = (arr[:k])
best = window
i (k, (arr)):
window += arr[i] - arr[i - k]
best = (best, window)
best
max_window_sum([, , , , , ], )
