Leetcode643-子数组最大平均数 I
思路:滑动窗口。
class Solution:
def findMaxAverage(self, nums: List[int], k: int) -> float:
sum_ = 0 #计算k个数的和
max_avg = -inf #初始化最大值为负无穷
start = 0 #初始左界限
for end in range(len(nums)):
sum_ += nums[end]
#如果长度为k,比较大小
if end - start + 1 == k:
max_avg = max(max_avg, sum_ / k)
#改变窗口里的数,start移出
if end >= k - 1:
sum_ -= nums[start]
start += 1
return max_avg