Maximum Average Subarray I
In this lab, you will work on an algorithm that finds the contiguous subarray of a given length k
with the maximum average value. This is an important and useful problem in many daily life scenarios related to finance, data analysis, etc.
You will be given an integer array nums
consisting of n
elements and an integer k
. Your task is to 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.
For example:
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
Input: nums = [4,2,1,3,4], k = 2
Output: 3.50000
Explanation: Maximum average is (3 + 4) / 2 = 3.5
In this lab, you will write a function named findMaxAverage
that takes two parameters:
nums
: An integer array consisting ofn
elements.k
: The length of the subarray to be found.
Function signature:
/** * @param {number[]} nums * @param {number} k * @return {number} */ var findMaxAverage = function(nums, k) { };
Make sure to properly import and export the findMaxAverage
function so it can be tested in the evaluation script.
Challenges
- Implement the
findMaxAverage
function and make sure it returns the maximum average for a given subarray of lengthk
. - Test the function with multiple test cases to ensure its correctness, and handle edge cases if necessary.
- Export the
findMaxAverage
function properly, so it can be imported in the evaluation script.
Now, complete the lab by writing the evaluation script, making sure it properly tests your implementation and properly logs the test results. Also, make sure to follow the rules we discussed earlier for building this lab. Good luck!