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

手机网站竞价单页刷外链网站

手机网站竞价单页,刷外链网站,深圳市福田区住房和建设局官网,衢州讪住房和城乡建设局网站题目 904. 水果成篮 - 力扣(LeetCode) 思路 题目本质 你有一个整数数组,每个元素代表一种水果。你只能用两个篮子,每个篮子只能装一种水果。你要在数组中找一个最长的连续子数组,这个子数组里最多只包含两种不同的…

题目

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

思路

题目本质

你有一个整数数组,每个元素代表一种水果。你只能用两个篮子,每个篮子只能装一种水果。你要在数组中找一个最长的连续子数组,这个子数组里最多只包含两种不同的数字(水果种类)。

解题思路(滑动窗口法)

滑动窗口:

用两个指针(left和right)表示当前连续子数组的左右边界。right每次向右扩展,left根据需要向右收缩。

统计水果种类:

用一个哈希表(如unordered_map)记录当前窗口内每种水果的数量。

窗口合法性:

  • 如果窗口内水果种类不超过2种,窗口合法,更新最大长度。
  • 如果超过2种,移动left指针,直到窗口内只剩下2种水果。

更新答案:

每次窗口合法时,更新最大长度。

过程

以 [1,2,1,2,3] 为例:

  • 初始窗口 [1],种类1种。
  • 扩展到 [1,2],种类2种。
  • 扩展到 [1,2,1],种类2种。
  • 扩展到 [1,2,1,2],种类2种。
  • 扩展到 [1,2,1,2,3],种类3种,不合法。此时需要移动left,直到只剩2种水果。

读者可能出现的错误写法

class Solution {
public:int totalFruit(vector<int>& fruits) {int left = 0;int right = 0;int ret = 0;unordered_map<int,int> sum;while(right < fruits.size()){sum[fruits[right]]++;while(sum.size() > 2){sum[fruits[left]]--;}ret = max(ret,right-left+1);right++;}return ret;}
};

代码主要问题在于:

当sum.size() > 2时,你只减少了sum[fruits[left]]--,但是没有移动left指针,

也没有在sum[fruits[left]]为0时将其从map中删除。这样会导致死循环或统计错误。

正确写法

class Solution {
public:int totalFruit(vector<int>& fruits) {int left = 0, right = 0, ret = 0;unordered_map<int, int> sum;while (right < fruits.size()) {sum[fruits[right]]++;while (sum.size() > 2) {sum[fruits[left]]--;if (sum[fruits[left]] == 0) {sum.erase(fruits[left]);}left++;}ret = max(ret, right - left + 1);right++;}return ret;}
};
http://www.dtcms.com/wzjs/27389.html

相关文章:

  • 公司让做网站违法北京优化靠谱的公司
  • 如何做解析网站站长工具查询入口
  • 网站建设公司 跨界鱼科技专业重庆企业网站排名优化
  • 用pageadmin做的网站用什么虚拟主机号网络优化工资一般多少
  • 微网站 地图百度seo算法
  • 胶南网站建设哪家好什么平台可以免费发广告
  • 山东建设执业资格注册中心网站官网公司营销网站建设
  • 北京市的重点门户网站有哪些排行榜百度
  • 自适应网站建设电话怎样建立一个网站
  • 小姐姐做我对象好不好网站天津网站seo设计
  • 国外扁平化风格网站百度经验官网首页
  • 在茂名哪里可以做网站华夏思源培训机构官网
  • 手机电影网站怎么做seo视频教程百度云
  • 网站开发下载哪个长沙seo研究中心
  • 电子商务网站建设课程总结好的网络推广平台
  • 做微商城网站衡阳有实力seo优化
  • 龙岗 网站建设深圳信科石家庄百度seo排名
  • 政府 教育 网站 案例东莞seo外包
  • 法律网站建设中国国家数据统计网
  • 国家级门户网站有哪些百度上看了不健康的内容犯法吗
  • 营销型网站如何建设全球热搜榜排名今日
  • 天津企业网站建站模板友情链接站长平台
  • 平凉建设局官方网站天津seo技术教程
  • 临沂网站建设服务商网络营销专业毕业论文
  • 棋牌游戏网站怎么做sem是什么基团
  • 建筑常用的模板下载网站有哪些杭州百度整站优化服务
  • 做外贸怎么看外国网站迅雷磁力链bt磁力天堂
  • 个人网站可以做导购吗网络推广seo教程
  • 北京网站怎么做疫情排行榜最新消息
  • 营销型网站重要特点是?维普网论文收录查询