news 2026/9/3 3:48:39

滑动定窗口(十一)1052. 爱生气的书店老板

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
滑动定窗口(十一)1052. 爱生气的书店老板

1052. 爱生气的书店老板

有一个书店老板,他的书店开了n分钟。每分钟都有一些顾客进入这家商店。给定一个长度为n的整数数组customers,其中customers[i]是在第i分钟开始时进入商店的顾客数量,所有这些顾客在第i分钟结束后离开。

在某些分钟内,书店老板会生气。 如果书店老板在第i分钟生气,那么grumpy[i] = 1,否则grumpy[i] = 0

当书店老板生气时,那一分钟的顾客就会不满意,若老板不生气则顾客是满意的。

书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续minutes分钟不生气,但却只能使用一次。

请你返回这一天营业下来,最多有多少客户能够感到满意

示例 1:

输入:customers = [1,0,1,2,1,1,7,5], grumpy = [0,1,0,1,0,1,0,1], minutes = 3输出:16解释:书店老板在最后 3 分钟保持冷静。 感到满意的最大客户数量 = 1 + 1 + 1 + 1 + 7 + 5 = 16.

示例 2:

输入:customers = [1], grumpy = [0], minutes = 1输出:1

提示:

  • n == customers.length == grumpy.length
  • 1 <= minutes <= n <= 2 * 104
  • 0 <= customers[i] <= 1000
  • grumpy[i] == 0 or 1
class Solution { public: int maxSatisfied(vector<int>& customers, vector<int>& grumpy, int minutes) { int res = 0, n = customers.size(); for(int i = 0; i < n; i++) if(grumpy[i] == 0) res += customers[i]; // 首先将所有老板不生气时候的顾客数加完 int left = 0, right = 0, temp = 0, max_temp = 0; while(right < n) // 然后利用一个滑动定窗口将一个窗口内老板生气的人 { // 维护一个最大值 if(grumpy[right] == 1) temp += customers[right]; if(right < minutes-1) { right++; continue; } max_temp = max(temp, max_temp); if(grumpy[left] == 1) temp -= customers[left]; left++; right++; } return res+max_temp; } };
class Solution { public: int maxSatisfied(vector<int>& customers, vector<int>& grumpy, int minutes) { int res = 0, n = customers.size(); int left = 0, right = 0, temp = 0, max_temp = 0; while(right < n) // 然后利用一个滑动定窗口将一个窗口内老板生气的人 { // 1、进窗口 if(grumpy[right] == 1) // 遇到老板生气可以维护这个窗口的生气顾客人数 temp += customers[right]; else res += customers[right]; // 老板不生气时直接加入res中即可 if(right < minutes-1) // 定窗口不满直接下一跳 { right++; continue; } max_temp = max(temp, max_temp); // 维护窗口内最大的生气人数 if(grumpy[left] == 1) temp -= customers[left]; left++; right++; } return res + max_temp; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 23:17:03

基于anything-llm镜像的客户成功案例库管理系统

基于 anything-llm 镜像的客户成功案例库管理系统 在技术服务型企业中&#xff0c;一个常被忽视却代价高昂的问题正悄然蔓延&#xff1a;每当客户提出类似的技术挑战&#xff0c;一线支持团队却总是在“重新发明轮子”。有人花了三天时间排查 Kafka 消费积压问题&#xff0c;而…

作者头像 李华
网站建设 2026/9/2 23:17:33

MicroPython智能家居场景联动编程实践

用 MicroPython 打造真正的本地化智能家居&#xff1a;从单点控制到多设备联动实战你有没有过这样的经历&#xff1f;晚上回家&#xff0c;推开门的一瞬间&#xff0c;走廊灯自动亮起&#xff0c;客厅的空气净化器也开始运转——整个过程无需掏出手机、不依赖云端响应&#xff…

作者头像 李华
网站建设 2026/9/3 1:50:53

论文写作必备AI神器:7款免费工具,一键搞定毕业论文

还在为毕业论文的浩大工程而焦虑吗&#xff1f;从选题、文献综述、初稿撰写到反复修改降重&#xff0c;每一步都足以让莘莘学子脱一层皮。但时代已经变了&#xff0c;借助人工智能的力量&#xff0c;论文写作的效率和质量可以发生质的飞跃。 今天&#xff0c;我将为你带来一份…

作者头像 李华
网站建设 2026/9/2 23:53:28

Keil5安装驱动配置教程:通俗解释USB转串口设置

Keil5驱动配置实战指南&#xff1a;手把手教你搞定USB转串口与调试器连接 你有没有遇到过这样的情况&#xff1f;代码写得飞快&#xff0c;信心满满地点击Keil里的“Download”按钮&#xff0c;结果弹出一个冷冰冰的提示&#xff1a; “No ST-Link Found” 或者 “Cannot…

作者头像 李华
网站建设 2026/9/2 12:24:09

LangFlow社交媒体帖子发布时间推荐

LangFlow&#xff1a;让AI工作流像搭积木一样简单 在社交媒体运营的战场上&#xff0c;时间就是流量。一条精心策划的内容&#xff0c;如果发错了时段&#xff0c;可能石沉大海&#xff1b;而一次精准的时间卡点&#xff0c;却能引爆全网互动。但现实是&#xff0c;大多数团队…

作者头像 李华