Menu
CoddyTech

Maximum Sum Subarray of Size K

Otrzymujesz tablicę liczb całkowitych nums i długość okna k. Sprawdź każdy ciąg dokładnie k sąsiadujących elementów i zwróć największą sumę spośród nich. Wartości mogą być ujemne, więc odpowiedź również może być ujemna.

Funkcja

maxSumSubarray(nums: integer-array, k: integer) → integer
numsinteger-array
tablica liczb całkowitych
kinteger
ile sąsiadujących elementów zawiera każde okno
Zwracainteger
największa suma dowolnych k kolejnych elementów

Ograniczenia

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

Przykłady

Wejście
nums = [4, -1, 3, 7, -2, 5, 1]k = 3
Wyjście
10
Wyjaśnienie
Pięć okien o długości 3 daje w sumie 6, 9, 8, 10 i 4. Największa suma to 7 + (-2) + 5 = 10.

lock icon+15 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Czy możesz również zwrócić pozycję, w której zaczyna się najlepsze okno, wybierając najbardziej lewe, jeśli kilka okien ma taki sam wynik?

Zresetuj kod
def maxSumSubarray(nums, k):
    # Wpisz tutaj kod
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

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

Oczekiwane

10