Blog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2025 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Algorytmy
Algorytmymedium

Sliding window: co to jest i kiedy jest lepsze niż zagnieżdżone pętle?

Tagi
#sliding-window#two-pointers#complexity
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

Sliding window utrzymuje przesuwające się okno [l..r] i aktualizuje je w jednym przebiegu. Zwiększasz `r` i przesuwasz `l`, żeby spełnić warunek (np. suma <= X, maks. K różnych). Wiele zadań spada z O(n^2) do O(n), bo każdy wskaźnik przesuwa się w prawo maksymalnie n razy.

Powiązane pytania

Algorytmy
Heap sort: jaka jest złożoność czasowa, pamięciowa i stabilność?
#heapsort#sorting#complexity
Algorytmy
Wykrywanie cyklu Floyda (żółw i zając): co wykrywa i jakie ma koszty czas/pamięć?
#cycle-detection#tortoise-hare#linked-list
Algorytmy
Bitmask DP (subset DP): co to jest i jaka jest typowa złożoność?
#dp#bitmask#subset
Algorytmy
Co to jest kolejka monotoniczna i jak daje max w oknie w O(n)?
#deque#monotonic-queue#sliding-window
Algorytmy
Co oznacza amortyzowane O(1)? Wyjaśnij na przykładzie dynamicznej tablicy.
#amortized#complexity#dynamic-array
Algorytmy
Na czym polega technika two pointers?
#two-pointers#array#technique