| https://leetcode.com/problems/maximum-average-subarray-i | Easy |
|---|
fun findMaxAverage(nums: IntArray, k: Int): Double {
var sum = 0.0
// Инициализируем сумму первых k элементов
for (i in 0 until k) {
sum += nums[i]
}
var maxSum = sum // Максимальная сумма на текущий момент
// Сканируем массив, используя скользящее окно
for (i in k until nums.size) {
sum += nums[i] - nums[i - k] // Добавляем новый элемент и убираем старый
if (sum > maxSum) {
maxSum = sum // Обновляем максимальную сумму
}
}
return maxSum / k // Возвращаем среднее значение
}