Teknik sliding-window mengekalkan satu julat bersebelahan (window) ke atas sesuatu array atau string dan menggelongsorkannya, bukannya mengira semula dari mula, lalu menyelesaikan banyak masalah subarray/substring dalam O(n).
Ideanya
Kembangkan window dengan menggerakkan tepi kanan; kecilkan ia dengan menggerakkan tepi kiri apabila sesuatu kekangan dilanggar. Guna semula pengiraan sebelumnya, bukannya mengimbas semula.
Contoh: jumlah maksimum bagi mana-mana window bersaiz k
():
window = (arr[:k])
best = window
i (k, (arr)):
window += arr[i] - arr[i - k]
best = (best, window)
best
max_window_sum([, , , , , ], )
