寻找我们可以在 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 鲜花卡片简短开业祝福语