643. Maximum Average Subarray I (Easy) (https://leetcode.com/problems/maximum-average-subarray-i/)
You are given an integer array nums consisting of n elements, and an integer k. Find a contiguous subarray whose length is equal to k that has the maximum average value and return this value. Any answer with a calculation error less than 10^-5 will be accepted. Constraints: - n == nums.length - 1 <= k <= n <= 10^5 - -10^4 <= nums[i] <= 10
function findMaxAverage(nums: number[], k: number): number {
let maxSum = nums.slice(0, k).reduce((acc, cur) => acc + cur, 0);
let curSum = maxSum;
for (let i = 0; i < nums.length - k; i++) {
curSum = curSum - nums[i] + nums[i + k]
maxSum = curSum > maxSum ? curSum : maxSum
}
return maxSum / k;
}
console.log(findMaxAverage([1, 12, -5, -6, 50, 3], 4)); // 12.75
console.log(findMaxAverage([5], 1)); // 5.0Example 1:
Input: nums = [1,12,-5,-6,50,3], k = 4
Output: 12.75
Explanation: Maximum average is (12 - 5 - 6 + 50) / 4 = 51 / 4 = 12.75
Example 2:
Input: nums = [5], k = 1
Output: 5.00000