类型:数组
-
- 爱生气的书店老板 💛 ⭐
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)