阿里云备案网站建设方案书案例/营销型公司网站建设
1.给定一个包含n个整数的数组,找到长度为k的平均值最大的连续子数组,并输出这个最大均值。假设1<=k<=n。
解题思路:该题属于滑动窗口,不断的新增窗口,并打破窗口,判断当前累加值和历史最大值的大小。
def findmax(alist):n = len(alist)sum_k = 0#先求出前k个值的累加和for i in range(k):sum_k + =ires = sum_k#在接着遍历剩下的元素,判断当前值和历史最大值的大小for i in range(k,n):sum_k+=alist[i]-alist[i-k]if res < sum_k:res = sum_kreturn res/k