寻找我们可以在 Python 中快乐的最大人数的程序
假设我们有一个列表客户和另一个列表情绪,这两个长度相同,我们还有另一个整数k。现在每分钟i,customers[i]人来到商店,当心情[i]=1时,表示顾客很高兴,当心情[i]=0时,他们很伤心。我们可以将情绪大小为k的子列表设置为1s,最后我们必须找到可以让我们开心的最大人数。
所以,如果输入像customers=[2,3,6,6,3]心情=[1,1,0,0,0]k=2,那么输出将是17,因为如果我们设置心情[2]和心情[3]为1,那么总心情将为2+3+6+6=17位客户满意。
示例
让我们看看以下实现以获得更好的理解-
def solve(customers, mood, k):
n = len(mood)
a = [0] * (n + 1)
s = 0
for i in range(n):
a[i + 1] = a[i]
if mood[i]:
s += customers[i]
else:
a[i + 1] += customers[i]
d = 0
for i in range(k, n + 1):
d = max(d, a[i] - a[i - k])
return s + d
customers = [2, 3, 6, 6, 3]
mood = [1, 1, 0, 0, 0]
k = 2
print(solve(customers, mood, k))输入
[2, 3, 6, 6, 3], [1, 1, 0, 0, 0], 2输出结果
17
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短