sliding-window ტექნიკა ინარჩუნებს ერთმანეთის მომდევნო დიაპაზონს (window) მასივის ან სტრიქონის გასწვრივ და სლაიდ აკეთებს მას ნაცრიდან გადახრის ნაცვლად, მრავალი subarray/substring პრობლემის გადაჭრა O(n) დროში.
იდეა
შეფართოვეთ window მარჯვენა კიდის მოძრაობით; შეკუმშეთ იგი მარცხენა კიდის მოძრაობით, როდესაც შეზღუდვა დაირღვევა. ხელახლა გამოიყენეთ წინა გამოთვლა ხელახლა სკანირების ნაცვლად.
მაგალითი: k ზომის ფანჯრის მაქსიმალური ჯამი
():
window = (arr[:k])
best = window
i (k, (arr)):
window += arr[i] - arr[i - k]
best = (best, window)
best
max_window_sum([, , , , , ], )
