题目描述:给定K,求出array里面k大小的子数组最大平均值
题目思路:两种方法:
1、给另一个数组diff_array, 计算每个元素i与i-k的差,然后计算这个数组的最大连续数组值,再与原数组的前k项之和加起来则为最大的和。
class Solution:
def findMaxAverage(self, nums: List[int], k: int) -> float:
diff_array = []
sum_1 = 0
for w in range(k):
sum_1 += nums[w]
for i in range(k, len(nums)):
diff_array.append(nums[i] - nums[i-k])
diff_cur = 0
diff_max = 0
for j in range(len(diff_array)):
diff_cur +=diff_array[j]
if diff_max <diff_cur:
diff_max = diff_cur
return (diff_max + sum_1)/k
2、直接计算每个k个元素的子数组的和,进行比较和返回
没写这个代码,我觉得有点傻逼就没做