Expand description
Siljuvchi oyna (sliding window) texnikasi.
G’oya: ketma-ket elementlardan iborat “oyna” bo’ylab yuramiz. Oynani har safar noldan hisoblash o’rniga, chiqib ketganini ayirib, kirganini qo’shamiz.
[1, 4, 2, 10, 2, 3, 1, 0, 20] k = 4
└────oyna────┘ yig'indi = 17
└────oyna────┘ yig'indi = 17 − 1 + 2 = 18Natijada O(n·k) o’rniga O(n).
Ikki turi bor:
- Qat’iy o’lchamli oyna (
max_sum_subarray_k); - O’zgaruvchan o’lchamli oyna (
longest_unique_substring,min_subarray_len).
Functions§
- longest_
unique_ substring - Takrorlanuvchi belgisiz eng uzun qism-satr uzunligi.
- max_
in_ windows - Har bir
ko’lchamli oynadagi maksimal element (monoton deque bilan). - max_
sum_ subarray_ k kuzunlikdagi qism-massivning maksimal yig’indisi.- min_
subarray_ len - Yig’indisi
targetdan kam bo’lmagan eng qisqa qism-massiv uzunligi.