题目
解法思路: 滑动窗口
代码记录
class Solution:
def maxSatisfied(self, customers: List[int], grumpy: List[int], X: int) -> int:
base_cnt = 0
n = len(customers)
for i in range(n):
if grumpy[i]==0:
base_cnt += customers[i]
cur_cnt = 0
res = 0
for i in range(n-X+1):
if i==0:
for j in range(X):
if grumpy[j]==1:
cur_cnt+=customers[j]
else:
cur_cnt = cur_cnt-int(grumpy[i-1]==1)*customers[i-1]+int(grumpy[i+X-1]==1)*customers[i+X-1]
res=max(res,base_cnt+cur_cnt)
return res