-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmaxAvgSubarray1.js
39 lines (32 loc) · 923 Bytes
/
maxAvgSubarray1.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*
643. 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.
Example 1:
Input: nums = [1,12,-5,-6,50,3], k = 4
Output: 12.75000
Explanation: Maximum average is (12 - 5 - 6 + 50) / 4 = 51 / 4 = 12.75
Example 2:
Input: nums = [5], k = 1
Output: 5.00000
*/
/**
* @param {number[]} nums
* @param {number} k
* @return {number}
*/
var findMaxAverage = function (nums, k) {
let i = 1
let sum = nums.slice(0, k).reduce((a, b) => a + b)
let avg = sum / k
while (i <= nums.length - k) {
sum = sum - nums[i - 1] + nums[i + k - 1]
const tempAvg = sum / k
if (tempAvg > avg) {
avg = tempAvg
}
i++
}
return avg
};