关注
今天小马的第三题:dp 以及 deque 都可以做;我贴一下今天dp的垃圾code吧 if __name__ == '__main__':
s1 = input().split(' ')
N, K = int(s1[0]), int(s1[1])
s2 = input().split(' ')
As = [int(s) for s in s2]
dp_sum = [0] * N
dp_max = [0] * N
dp_min = [0] * N
dp_sum[K-1] = sum(As[:K])
dp_min[K-1] = min(As[:K])
dp_max[K-1] = max(As[:K])
ans = (dp_sum[K-1] - dp_min[K-1] - dp_max[K-1]) / (K-2)
for i in range(K, N):
dp_sum[i] = dp_sum[i-1] - As[i-K] + As[i]
if As[i] >= dp_max[i-1]:
dp_max[i] = As[i]
else:
if As[i] >= As[i-K]:
dp_max[i] = dp_max[i-1]
else:
if As[i-K] < dp_max[i-1]:
dp_max[i] = dp_max[i-1]
else:
dp_max[i] = max(As[i-K+1: i+1])
if As[i] <= dp_min[i-1]:
dp_min[i] = As[i]
else:
if As[i] <= As[i-K]:
dp_min[i] = dp_min[i-1]
else:
if As[i-K] > dp_min[i-1]:
dp_min[i] = dp_min[i-1]
else:
dp_min[i] = min(As[i-K+1: i+1])
v = (dp_sum[i] - dp_min[i] - dp_max[i]) / (K-2)
ans = max(ans, v)
print(ans)
查看原帖
点赞 6
相关推荐
牛客热帖
更多
正在热议
更多
# 哪些AI项目值得做? #
16102次浏览 429人参与
# 秋招笔试记录 #
397639次浏览 2194人参与
# 华泰星战营,提前锁定校招offer #
11677次浏览 354人参与
# 实习时最怕听到的一句话 #
14708次浏览 137人参与
# 90后北漂现状 #
38731次浏览 225人参与
# 找不到大厂实习可以去小厂吗? #
12912次浏览 112人参与
# 机械人,说说你的烦心事 #
143963次浏览 1150人参与
# 应届生初入职场,求建议 #
332531次浏览 2916人参与
# 简历上如何体现你的“AI”能力? #
7349次浏览 172人参与
# 你简历上最心虚的一句话 #
14879次浏览 156人参与
# 没有面试的日子里,你在做什么 #
8643次浏览 230人参与
# 携程笔试 #
162398次浏览 903人参与
# 如果有时光机,你最想去到哪个年纪? #
77103次浏览 858人参与
# 你总挂在第__面? #
5466次浏览 57人参与
# ai智能作图 #
682515次浏览 5727人参与
# 汉得笔试 #
3904次浏览 23人参与
# 24届秋招同行攻略分享 #
1478902次浏览 14432人参与
# 你知道最慷慨和最抠的公司分别是 #
7246次浏览 59人参与
# 绿盟笔试 #
3429次浏览 24人参与
# 大厂无回复,继续等待还是奔赴小厂 #
356862次浏览 2024人参与
# 机械人还在等华为开奖吗? #
333962次浏览 1628人参与

查看7道真题和解析