Top 150 des entrevuesDifficile

Maximum de fenêtre coulissante

Guide détaillé et implémentation de Python pour le problème 'Sliding Window Maximum'.

Énoncé du problème

Difficile

Vous recevez un tableau d'entiers nums et un entier k représentant la taille d'une fenêtre coulissante qui se déplace de l'extrême gauche du tableau vers l'extrême droite. Vous ne pouvez voir que les numéros k dans la fenêtre. À chaque fois, la fenêtre coulissante se déplace d'une position vers la droite.

Renvoie la valeur maximale dans chaque fenêtre glissante.

Écrivez une fonction maxSlidingWindow(nums: List[int], k: int) -> List[int].

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

Exemples

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?
Pensez à utiliser des structures de données spécifiques à la fenêtre coulissante, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.