Kayma penceresi tekniği bir dizi veya dize üzerinde bitişik bir aralığı (pencere) korur ve sıfırdan yeniden hesaplamak yerine bunu kaydırarak birçok subarray/substring problemini O(n) içinde çözer.
Fikir
Sağ kenarı hareket ettirerek pencereyi genişletin; bir kısıtlama ihlal edildiğinde sol kenarı hareket ettirerek daraltın. Tekrar tarama yerine önceki hesaplamayı yeniden kullanın.
Örnek: k boyutunda herhangi bir pencerenin maksimum toplamı
():
window = (arr[:k])
best = window
i (k, (arr)):
window += arr[i] - arr[i - k]
best = (best, window)
best
max_window_sum([, , , , , ], )
