LeetCodeDiary

A Diary for solving LeetCode problems

View on GitHub
'''
Description: 
Autor: Au3C2
Date: 2020-12-14 13:10:09
LastEditors: Au3C2
LastEditTime: 2020-12-14 13:10:45
'''
class Solution:
    def maxSatisfied(self, customers: List[int], grumpy: List[int], X: int) -> int:
        n = len(customers)
        min_customers = 0
        if n<=X or sum(grumpy)==0:
            return sum(customers)
        for i in range(n):
            min_customers += (1-grumpy[i])*customers[i]
            customers[i] = customers[i]*grumpy[i]    
        max_customers = min_customers    
        for i in range(n+1-X):
            now_customers = sum(customers[i:i+X])+min_customers
            max_customers = max(max_customers,now_customers)
        return max_customers

# https://leetcode-cn.com/problems/grumpy-bookstore-owner/
# 滑窗,难度一般