跳过正文
  1. leetcode 题解/

1052_爱生气的书店老板

·50 字·1 分钟

类型:数组

    1. 爱生气的书店老板 💛 ⭐

    https://leetcode-cn.com/problems/grumpy-bookstore-owner/

    ❓ 数组中每分钟的在场顾客数为 customers[i],grumpy[i] 表示老板在第 i 分钟会不会生气。生气时顾客不满意,否则顾客满意。老板可以通过情绪控制让自己保持连续 X 分钟不生气,但只能控制一次。如何让最多的顾客感到满意?

    💡 滑动窗口

    假设老板不进行情绪控制,则顾客满意数为 init_customer_num。假设老板情绪控制后,增长的满意数为 increase,我们要求 increase 的最大值。

    我们从头遍历到 n-X,更新维护 increase 的值:

    increase_i = increase[i - 1] - customers[i - 1] * grumpy[i - 1] + customers[i + X - 1] * grumpy[i + X - 1]

    时间复杂度:O(n),空间复杂度:O(1)