LeetCode #643. Maximum Average Subarray I

题目

643. Maximum Average Subarray I


解题方法

利用滑动窗口的思想,先计算数组中前k个数的总和knumsum,再设置i从第k个数开始,每次将knumsum加上第i个数,减去第i-k个数,并记录其最大值,最后返回最大值/k即可。


代码

class Solution:
    def findMaxAverage(self, nums: List[int], k: int) -> float:
        knumsum = 0
        for i in range(k):
            knumsum += nums[i]
        rat = knumsum
        for i in range(k, len(nums)):
            knumsum += nums[i] - nums[i-k]
            rat = max(rat, knumsum)
        return rat/k
上一篇:开源RAT软件


下一篇:LeetCode #1266. Minimum Time Visiting All Points