Sürüşən pəncərə (sliding window) massivin və ya sətrin ardıcıl hissəsi üzərində işləyən texnikadır. Pəncərəni bir addım sürüşdürəndə bir element daxil olur, bir element çıxır; ona görə cavabı sıfırdan hesablamaq əvəzinə O(1)-də yeniləyirik. Bu, iki göstərici texnikasının ardıcıl alt-massivlər üçün xüsusi halıdır.

![Uzunluğu 3 olan pəncərə [2, 1, 5, 1, 3, 2] üzərində sürüşür](img/lessons/algorithms/sliding-window-fixed-sums.svg)

Sabit uzunluqlu pəncərə

Məsələ: k ardıcıl elementin ən böyük cəmi. Brute force hər pəncərənin cəmini yenidən hesablayır: (n - k + 1) * k toplama, yəni O(nk). Pəncərəni sürüşdürəndə isə yeni cəm köhnə + a[i] - a[i - k] olur.

python
def max_sum_k(a, k):
    window = sum(a[:k])               # first window
    best = window
    for i in range(k, len(a)):
        window += a[i] - a[i - k]     # enter a[i], leave a[i - k]
        best = max(best, window)
    return best