LeetCodeDiary

A Diary for solving LeetCode problems

View on GitHub
'''
Description: 
Autor: Au3C2
Date: 2021-02-23 10:58:59
LastEditors: Au3C2
LastEditTime: 2021-02-23 10:59:59
'''
class Solution:
    def maxSatisfied(self, customers: List[int], grumpy: List[int], X: int) -> int:
        import numpy as np
        n = len(customers)
        grumpy = np.array(grumpy,dtype=np.uint8)
        max_customers = min_customers = np.sum(customers*(1-grumpy))
        
        if n<=X or sum(grumpy)==0:
            return sum(customers)

        customers = customers*grumpy
        for i in range(n+1-X):
            now_customers = np.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/