美文网首页
LeetCode-643-子数组最大平均数 I

LeetCode-643-子数组最大平均数 I

作者: 阿凯被注册了 | 来源:发表于2020-11-06 22:38 被阅读0次

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


    image.png

    解题思路:

    1. 双指针,滑动窗口;
    2. 初始化ans=前k个数字的和,j从k开始遍历,滑动窗口,每次加头部一个数字,减去尾部一个数字,再与max_比较;
    3. 遍历完,max_除以k得最大平均值。

    Python3代码:

    class Solution:
        def findMaxAverage(self, nums: List[int], k: int) -> float:
            i, j = 0, k
            n = len(nums)
            max_ = ans = sum(nums[:k])
            while j < n:
                ans += nums[j]
                ans -= nums[j-k]
                max_ = max(max_, ans)
                j+=1
            return max_/k
    

    相关文章

      网友评论

          本文标题:LeetCode-643-子数组最大平均数 I

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