Funktion zur Berechnung der maximalen Summe eines Teilarrays mit Längenbegrenzung
Go
Hard
functions
Aufgabe «Funktion zur Berechnung der maximalen Summe eines Teilarrays mit Längenbegrenzung»
Schreiben Sie eine Funktion MaxSubarraySumWithLimit(nums []int, k int) int, die ein Integer-Array nums und eine ganze Zahl k (1 ≤ k ≤ len(nums)) entgegennimmt. Die Funktion soll die maximale Summe eines zusammenhängenden Teilarrays mit einer Länge von höchstens k zurückgeben. Wenn das Array leer ist, geben Sie 0 zurück. Implementieren Sie einen Algorithmus mit einer Zeitkomplexität von O(n).
Eingabeformat
Als Eingabe werden zwei Zahlen gegeben: n (Länge des Arrays, 0 ≤ n ≤ 10^5) und k (1 ≤ k ≤ n). Dann folgen n ganze Zahlen — die Elemente des Arrays (-10^9 ≤ nums[i] ≤ 10^9).
Ausgabeformat
Eine ganze Zahl — die maximale Summe des Teilarrays mit einer Länge von höchstens k.
Beispiele
Beispiel 1
EINGABE
5 3
1 2 3 4 5
AUSGABE
12
Beispiel 2
EINGABE
4 2
-1 -2 -3 -4
AUSGABE
-1
Beispiel 3
EINGABE
7
1 2 3 4 5 -1 6
AUSGABE
6
Beispiel 4
EINGABE
6 4
2 -1 3 4 -2 1
AUSGABE
8
Beispiel 5
EINGABE
3
-5 10 20
AUSGABE
15
main.go