Top 150-InterviewSchwer

Schiebefenster Maximum

Detaillierte Anleitung und Python-Implementierung für das Problem „Sliding Window Maximum“.

Problemstellung

Schwer

Sie erhalten ein Array aus Ganzzahlen nums und eine Ganzzahl k, die die Größe eines Schiebefensters darstellen, das sich vom äußersten linken Rand des Arrays nach ganz rechts bewegt. Sie können im Fenster nur die k-Nummern sehen. Das Schiebefenster bewegt sich jedes Mal um eine Position nach rechts.

Gibt den Maximalwert in jedem Schiebefenster zurück.

Schreiben Sie eine Funktion maxSlidingWindow(nums: List[int], k: int) -> List[int].

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

Beispiele

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?
Erwägen Sie die Verwendung von Sliding Window-spezifischen Datenstrukturen wie Sets oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

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

Im Editor öffnen
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

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.