美文网首页
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