Fonction de calcul de la somme maximale d’un sous-tableau avec une limitation de longueur
Go
Hard
functions
Tâche «Fonction de calcul de la somme maximale d’un sous-tableau avec une limitation de longueur»
Écrivez une fonction MaxSubarraySumWithLimit(nums []int, k int) int qui prend un tableau d’entiers nums et un entier k (1 ≤ k ≤ len(nums)). La fonction doit retourner la somme maximale d’un sous-tableau contigu de longueur au plus k. Si le tableau est vide, retourner 0. Implémentez un algorithme avec une complexité temporelle O(n).
Format d\ entrée
En entrée, deux nombres sont donnés : n (longueur du tableau, 0 ≤ n ≤ 10^5) et k (1 ≤ k ≤ n). Ensuite, n entiers — les éléments du tableau (-10^9 ≤ nums[i] ≤ 10^9).
Format de sortie
Un seul entier — la somme maximale d’un sous-tableau de longueur au plus k.
Exemples
Exemple 1
ENTRÉE
5 3
1 2 3 4 5
SORTIE
12
Exemple 2
ENTRÉE
4 2
-1 -2 -3 -4
SORTIE
-1
Exemple 3
ENTRÉE
7
1 2 3 4 5 -1 6
SORTIE
6
Exemple 4
ENTRÉE
6 4
2 -1 3 4 -2 1
SORTIE
8
Exemple 5
ENTRÉE
3
-5 10 20
SORTIE
15
main.go