news 2026/4/23 12:36:11

滑动定窗口(十一)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/4/23 11:12:10

知乎专栏写作灵感:围绕anything-llm的知识问答话题

Anything-LLM&#xff1a;当你的知识库会“说话” 在企业微信里翻了半小时员工手册&#xff0c;还是没找到年假计算规则&#xff1f;新来的同事第三次问你同一个产品参数&#xff0c;而你刚在上周的会议纪要里写得清清楚楚&#xff1f;这些看似琐碎的问题背后&#xff0c;其实指…

作者头像 李华
网站建设 2026/4/20 5:10:01

图解HNSW在Elasticsearch向量检索中的构建全过程

HNSW如何让Elasticsearch秒级检索亿级向量&#xff1f;一张图讲透构建全过程你有没有遇到过这样的场景&#xff1a;系统里存了几百万条文本或图片的嵌入向量&#xff0c;用户一搜“类似内容”&#xff0c;后台就开始遍历所有向量做相似度计算——响应动辄几秒甚至十几秒&#x…

作者头像 李华
网站建设 2026/4/20 22:31:22

微信公众号推文主题:每周一篇anything-llm应用技巧

每周一篇 anything-llm 应用技巧 在企业知识管理的日常中&#xff0c;你是否曾遇到过这样的场景&#xff1a;新员工反复询问“年假怎么算”&#xff0c;HR不得不再次翻出《员工手册》第5章&#xff1b;技术团队每次查阅API文档都要花十几分钟定位关键段落&#xff1b;管理层想了…

作者头像 李华
网站建设 2026/4/20 16:30:02

免费试用额度发放:吸引新用户尝试GPU+token服务

免费试用额度发放&#xff1a;吸引新用户尝试GPUtoken服务 在AI应用落地的“最后一公里”&#xff0c;最常听到的问题不是“模型够不够强”&#xff0c;而是&#xff1a;“我该怎么快速验证它能不能解决我的问题&#xff1f;” 尤其是中小团队或独立开发者&#xff0c;面对动辄…

作者头像 李华
网站建设 2026/4/19 20:35:29

FCKEditor教程分享WORD公式粘贴转存最佳实践

&#x1f468;&#x1f4bb; Word图片一键转存功能开发日记 &#x1f50d; 寻找解决方案的漫漫长路 作为一个即将毕业的吉林软件工程专业大三学生&#xff0c;我最近在给我的CMS新闻管理系统添加一个超实用的功能 - Word文档一键粘贴并自动上传图片&#xff01;这简直是内容编…

作者头像 李华
网站建设 2026/4/23 12:12:28

供应商合同智能审查:anything-llm在法务初筛阶段的应用

供应商合同智能审查&#xff1a;anything-llm在法务初筛阶段的应用 在一家中型制造企业&#xff0c;法务团队每月要处理超过200份供应商合同。每份合同平均长达30页&#xff0c;涉及付款条件、违约责任、知识产权归属等关键条款。过去&#xff0c;每位法务专员需要花费近40分钟…

作者头像 李华