美文网首页
643. Maximum Average Subarray I

643. Maximum Average Subarray I

作者: 赵智雄 | 来源:发表于2017-12-16 20:46 被阅读10次

    Given an array consisting of n integers, find the contiguous subarray of given length k that has the maximum average value. And you need to output the maximum average value.
    Example 1:

    Input: [1,12,-5,-6,50,3], k = 4
    Output: 12.75
    Explanation: Maximum average is (12-5-6+50)/4 = 51/4 = 12.75
    

    遍历数组,记录和的最大值。
    代码如下:

    class Solution {
    public:
        double findMaxAverage(vector<int>& nums, int k) {
            long max = 0;
            long sum = 0;
            for(int i = 0; i < k; i++)
            {
                sum += nums[i];
            }
            max = sum;
            for(int i = k; i < nums.size(); i++)
            {
                sum += nums[i];
                sum -= nums[i - k];
                if(sum > max)
                    max = sum;
            }
            return (double)max / k;
        }
    };
    

    相关文章

      网友评论

          本文标题:643. Maximum Average Subarray I

          本文链接:https://www.haomeiwen.com/subject/crdewxtx.html