Sliding-window technique は、array や string 上の contiguous range(window)を保ち、毎回 recompute せずに slide させることで、多くの subarray/substring problem を O(n) で解きます。
考え方
right edge を動かして window を expand し、constraint が破れたら left edge を動かして shrink します。前回の computation を reuse し、再 scan を避けます。
例: size k の window の最大 sum
python
():
window = (arr[:k])
best = window
i (k, (arr)):
window += arr[i] - arr[i - k]
best = (best, window)
best
max_window_sum([, , , , , ], )
