关注
今天小马的第三题: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时代还有必要刷leetcode吗? #
21569次浏览 318人参与
# 生化环材还是天坑吗 #
63384次浏览 336人参与
# 厦门银行科技岗值不值得投 #
28487次浏览 758人参与
# 有哪些公司在面试时考察AICoding? #
14912次浏览 290人参与
# 薪资爆料 #
411736次浏览 2205人参与
# 从投递到OC,你用了多久 #
19320次浏览 199人参与
# 想从事Agent应该学习哪些技术? #
6241次浏览 216人参与
# 26届春招投递记录 #
2874次浏览 33人参与
# 多益网络工作体验 #
68165次浏览 309人参与
# 秋招报数:你投了多少家公司? #
164266次浏览 971人参与
# HR面都在聊什么? #
11059次浏览 118人参与
# 你都在哪些场所面过试? #
80085次浏览 501人参与
# 你想吐槽公司的哪些规定 #
45670次浏览 212人参与
# 什么人最适合大厂? #
10883次浏览 110人参与
# 哪些公司面试还在问八股? #
11565次浏览 105人参与
# 父母问你工作找得怎么样,怎么回 #
19608次浏览 232人参与
# 如何快速融入团队? #
49321次浏览 305人参与
# 我的求职进度条 #
1074520次浏览 7576人参与
# 毕业论文进行时 #
35355次浏览 166人参与
# 技术转行的心路历程 #
93705次浏览 786人参与
# 你觉得mentor喜欢什么样的实习生 #
58067次浏览 1034人参与

查看7道真题和解析