Menu
CoddyTech

Maximum Sum Subarray of Size K

Дан массив целых чисел nums и длина окна k. Рассмотрите каждый непрерывный участок ровно из k соседних элементов и верните наибольшую сумму среди них. Значения могут быть отрицательными, поэтому и ответ может быть отрицательным.

Функция

maxSumSubarray(nums: integer-array, k: integer) → integer
numsinteger-array
массив целых чисел
kinteger
сколько соседних элементов содержит каждое окно
Возвращаетinteger
наибольшая сумма любых k последовательных элементов

Ограничения

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

Примеры

Ввод
nums = [4, -1, 3, 7, -2, 5, 1]k = 3
Вывод
10
Пояснение
Сумма пяти окон длиной 3 равна 6, 9, 8, 10 и 4. Наибольшая сумма — 7 + (-2) + 5 = 10.

lock icon+15 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Можешь также вернуть, где начинается лучшее окно, выбирая самое левое, если несколько окон имеют одинаковый результат?

Сбросить код
def maxSumSubarray(nums, k):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Случай 3

Ввод

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

Ожидается

10