关注
今天小马的第三题: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
相关推荐
牛客热帖
更多
正在热议
更多
# 你感受到金三银四了嘛? #
48394次浏览 486人参与
# 美团笔试 #
669656次浏览 4387人参与
# 春招 / 实习投递,你最焦虑的一件事 #
40650次浏览 830人参与
# 今天你投了哪些公司? #
90438次浏览 1749人参与
# 虽然0面试,但今天___,夸夸自己 #
4827次浏览 122人参与
# 为了去实习,我赌上了___ #
68715次浏览 385人参与
# 找工作,你都让AI帮你做什么? #
4430次浏览 162人参与
# 如果给AI员工评绩效,我的答案是…… #
5869次浏览 132人参与
# 哪一刻你对工作祛魅了? #
14280次浏览 136人参与
# 刚工作的你,踩过哪些坑? #
3616次浏览 85人参与
# 实习学不到东西正常吗? #
5594次浏览 87人参与
# 今年找实习到底有多难? #
12081次浏览 121人参与
# AI时代下,你的岗位要求有什么变化? #
6316次浏览 123人参与
# AI项目实战 #
4138次浏览 206人参与
# 校园里的破防时刻 #
38162次浏览 178人参与
# HR问:你期望的薪资是多少?如何回答 #
83622次浏览 717人参与
# 携程笔试 #
117865次浏览 730人参与
# 简历无回复,你会继续海投还是优化再投? #
143011次浏览 884人参与
# 27届求职交流 #
50378次浏览 971人参与
# 秋招感动瞬间 #
117909次浏览 546人参与
查看7道真题和解析