Menu
CoddyTech

Maximum Sum Subarray of Size K

Vous recevez un tableau d’entiers nums et une longueur de fenêtre k. Examinez chaque séquence de exactement k éléments voisins et renvoyez la somme la plus élevée parmi elles. Les valeurs peuvent être négatives, donc la réponse peut l’être aussi.

Fonction

maxSumSubarray(nums: integer-array, k: integer) → integer
numsinteger-array
le tableau d’entiers
kinteger
combien d’éléments voisins contient chaque fenêtre
Renvoieinteger
la plus grande somme de k éléments consécutifs

Contraintes

  • 1 ≤ k ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104

Exemples

Entrée
nums = [4, -1, 3, 7, -2, 5, 1]k = 3
Sortie
10
Explication
Les cinq fenêtres de longueur 3 donnent 6, 9, 8, 10 et 4. La plus grande somme est 7 + (-2) + 5 = 10.

lock icon+15 tests cachés à la soumission

challenge icon

Pour aller plus loin

Peux-tu également renvoyer l’indice de début de la meilleure fenêtre, en choisissant la plus à gauche lorsque plusieurs fenêtres sont ex æquo ?

Réinitialiser le code
def maxSumSubarray(nums, k):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

nums = [4, -1, 3, 7, -2, 5, 1]
k = 3

Attendu

10