news 2026/6/15 20:06:58

滑动定窗口(十一)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/6/13 8:59:09

B站UP主合作方向:科技区内容创作与anything-llm结合点

B站UP主如何用Anything-LLM打造“个人AI知识中枢”&#xff1f; 在B站科技区&#xff0c;内容竞争早已从“有没有干货”转向“能不能讲得快、答得准、记得住”。一个爆款视频的背后&#xff0c;往往是几十篇论文、上百页技术文档的消化与重构&#xff1b;而一场直播下来&#x…

作者头像 李华
网站建设 2026/6/15 17:19:12

软件测试领域的重大挑战问题分析

测试之困&#xff0c;不止于技术在数字化高速迭代的今天&#xff0c;软件已渗透至社会运行的每一个毛细血管。作为保障软件质量与用户体验的关键闸门&#xff0c;软件测试的角色从未如此重要&#xff0c;也从未面临如此复杂的境遇。对于广大软件测试从业者而言&#xff0c;我们…

作者头像 李华
网站建设 2026/6/13 17:04:48

顶尖高校联合发布重磅AI智能体记忆系统进化全景综述报告

AI的记忆不仅仅是存储过去&#xff0c;它是智能体跨越时间长河、实现持续进化与复杂推理的灵魂核心。 过去两年&#xff0c;大语言模型展现了惊人的能力&#xff0c;但若没有记忆&#xff0c;它们只是拥有无限瞬时算力的健忘天才。 新加坡国立大学、中国人民大学、复旦大学&a…

作者头像 李华
网站建设 2026/6/13 9:43:40

开源SOTA,浙大团队多图精准控制与身份一致性新突破

浙江大学 ReLER 实验室团队开源了 ContextGen 多图参考身份一致性生成模型。ContextGen 通过 CLA&#xff08;Contextual Layout Anchoring&#xff0c;上下文布局锚定&#xff09;与 ICA&#xff08;Identity Consistency Attention&#xff0c;身份一致性注意力&#xff09;两…

作者头像 李华
网站建设 2026/6/12 23:38:35

日志审计功能启用:满足企业IT监管需求的操作步骤

日志审计功能启用&#xff1a;满足企业IT监管需求的操作步骤 在金融、医疗、制造等行业&#xff0c;一次未经授权的文档访问或权限变更&#xff0c;可能引发连锁性的合规风险。随着AI系统深度嵌入企业的知识管理流程&#xff0c;如何确保每一次查询、上传和配置调整都“有迹可循…

作者头像 李华
网站建设 2026/6/12 7:07:06

图解说明cp2102 usb to uart bridge controller驱动流程

从“未知设备”到稳定通信&#xff1a;深入拆解 CP2102 USB转串口的驱动全流程 你有没有遇到过这样的场景&#xff1f; 手头一块开发板插上电脑&#xff0c;设备管理器里却只显示一个带黄色感叹号的“未知设备”。明明是常见的USB转TTL模块&#xff0c;怎么就是不能识别成COM…

作者头像 李华