(LeetCode每日一刷35) 643. 子数组最大平均数 I

题目描述:

给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。

示例:

示例 1:

输入: [1,12,-5,-6,50,3], k = 4
输出: 12.75
解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75

注意:

  1. 1 <= k <= n <= 30,000。
  2. 所给数据范围 [-10,000,10,000]。

我提交的代码:

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

猜你喜欢

转载自blog.csdn.net/songsong2017/article/details/84674679