150 najlepszych wywiadówCiężko

Maksymalne okno przesuwne

Szczegółowy przewodnik i implementacja Python dla problemu „Maksimum przesuwanego okna”.

Oświadczenie o problemie

Ciężko

Otrzymasz tablicę liczb całkowitych nums i liczbę całkowitą k reprezentującą rozmiar przesuwanego okna, które przesuwa się od lewej strony tablicy do prawej. W oknie możesz zobaczyć tylko liczby k. Za każdym razem przesuwane okno przesuwa się w prawo o jedną pozycję.

Zwróć maksymalną wartość w każdym przesuwanym oknie.

Napisz funkcję maxSlidingWindow(nums: List[int], k: int) -> List[int].

Ograniczenia
  • 1 <= len(nums) <= 10^5
  • -10^4 <= nums[i] <= 10^4
  • 1 <= k <= len(nums)

Przykłady

Example 1
Input
nums = [1, 3, -1, -3, 5, 3, 6, 7], k = 3
Output
[3, 3, 5, 5, 6, 7]
Explanation

Window [1,3,-1] max=3, [3,-1,-3] max=3, [-1,-3,5] max=5, [-3,5,3] max=5, [5,3,6] max=6, [3,6,7] max=7.

Example 2
Input
nums = [1], k = 1
Output
[1]
Explanation

Single element window, max is 1.

Need a Hint?
Rozważ użycie struktur danych specyficznych dla przesuwnego okna, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Otwórz w Edytorze
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.