当前位置: 首页 > news >正文

水果成篮-越短越合法

904. 水果成篮 - 力扣(LeetCode)

Solution

子数组越长,包含的元素越多,越可能不满足题目要求;反之,子数组越短,包含的元素越少,越可能满足题目要求。本题属于「越短越合法」,有这种性质的题目,可以用滑动窗口解决。

枚举子数组的右端点 right。同时用一个哈希表维护子数组内每个元素的出现次数,用一个变量cnt维护哈希表的大小。

如果 fruits[right] 加入哈希表后,发现哈希表的大小超过了 2,那么子数组不满足要求。移动子数组的左端点 left,把 fruits[left] 的出现次数减一,直到哈希表中的元素种数等于 2。

⚠注意:如果 fruits[left] 的出现次数变成 0,减少cnt,表示子数组内少了一种元素。如果不移除,我们无法通过 cnt 的大小判断窗口中的元素种数。

class Solution {
public:int totalFruit(vector<int>& fruits) {int n = fruits.size();unordered_map<int, int> already;int l = 0, ans = 0, cnt = 0;for (int r = 0; r < n; ++r) {int cur = fruits[r];already[cur]++;if (already[cur] == 1)cnt++;while (cnt > 2) {if (already[fruits[l]] == 1)cnt--;already[fruits[l]]--;l++;}ans = max(ans, r - l + 1);}return ans;}
};

http://www.dtcms.com/a/424495.html

相关文章:

  • 外国人做的购物网站做网站开发要具备哪些素质
  • 印尼雅加达综合指数(JCI)数据对接实战指南
  • 福州网站开发公司哪些网站可以做平面设计
  • 临安规划建设局网站wordpress 评论按钮
  • 定向广播扬声器:高速公路预警新利器 为安全“喊话”
  • 做网站送优化如何做授权网站
  • 产品展示类网站网站用户体验度
  • 网站管理问题建站点的步骤
  • 安阳网站哪家做的好网站开发需要什么基础知识
  • 新乡定制网站建设公司网站建设属于
  • 网站建设技术和销售工资用手机建网站
  • 网站集群建设方案中国移动积分兑换商城官方网站
  • 怎么选择镇江网站建设WordPress影视cms
  • 网站建设的一般流程排序为湖南城乡建设部网站
  • 大数据数据质量校验实战指南:从0.3%差异率到滴水不漏的核对体系
  • 阜阳哪里做网站的多购物网站开发技术
  • OpenCASCADE 点云拟合曲线与曲面:从零实现到工业级应用
  • 【Axure教程】多角色登录原型
  • 深圳 德 网站建设安装wordpress报错
  • port default vlan vlan-id 概念及题目
  • 分布式任务调度系统设计方案
  • 惠州网站建设企业廊坊网站专业制作
  • 做网站系统的答辩ppt范文wordpress缩略图顺序
  • 辽宁省建设厅官方网站wordpress 连不到js
  • 【开题答辩全过程】以 springboot校园顺风车平台为例,包含答辩的问题和答案
  • 【2026国考省考公务员备考资料合集】免费分享
  • 网站开发最流行的语言爱心代码编程html教程
  • 建一个企业网站多少钱变色龙app制作教程
  • 一文详解RAG
  • 建设管理部门网站查询微信电商平台