给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。
示例 1:
输入: [1,12,-5,-6,50,3], k = 4
输出: 12.75
解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75
def findMaxAverage(nums, k):
temp = 0
mas = float('-inf')
for i, x in enumerate(nums):
temp += x
if i >= k:
temp = temp - nums[i - k]
if i>=k-1:
mas = max(temp, mas)
return mas / k
# for i in range(len(nums)):
# s = nums[i]
# if i + k > len(nums):
# break
# for j in range(i + 1, i + k):
# s = s + nums[j]
# mas = max(mas,s)
# return mas/k #最笨的办法,时间复杂度O(n^2)