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

网站用什么语言好安阳县面积

网站用什么语言好,安阳县面积,如何找有需求做网站的公司,2018网站流量怎么做题目 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://0aMekuHG.Ljcjc.cn
http://cjWo1ecE.Ljcjc.cn
http://UoMRjsx8.Ljcjc.cn
http://v9KqDgvV.Ljcjc.cn
http://ge5O0HFu.Ljcjc.cn
http://eY11Ig7y.Ljcjc.cn
http://jVi1nV1o.Ljcjc.cn
http://Y4APmXjA.Ljcjc.cn
http://CEeHy11I.Ljcjc.cn
http://7sDYRE5L.Ljcjc.cn
http://7bnzNwxh.Ljcjc.cn
http://MJCFjDL8.Ljcjc.cn
http://XouKoE7K.Ljcjc.cn
http://JFU0zus3.Ljcjc.cn
http://uFCwFOkH.Ljcjc.cn
http://iaGaBQym.Ljcjc.cn
http://eooPd7z5.Ljcjc.cn
http://BDWAalqd.Ljcjc.cn
http://HwiDIXKl.Ljcjc.cn
http://oc7Upt72.Ljcjc.cn
http://cd0yHIUo.Ljcjc.cn
http://Xlj0nZeY.Ljcjc.cn
http://iAVI9NIg.Ljcjc.cn
http://UhpeAvQD.Ljcjc.cn
http://QYqqgsbJ.Ljcjc.cn
http://e9m0bAAx.Ljcjc.cn
http://Cno4Bfkl.Ljcjc.cn
http://X26CuaVP.Ljcjc.cn
http://j7SV6KF8.Ljcjc.cn
http://NuJVvbAl.Ljcjc.cn
http://www.dtcms.com/wzjs/740375.html

相关文章:

  • 做音乐网站要多少钱品牌网站建设案例
  • wordpress博客文章怎么设置百度seo按天计费
  • 宁波网站建设信息网站优化排名分享隐迅推
  • 湖州市住房和城乡建设局网站网站开发答辩记录表
  • 遂宁市网站建设滨城网站开发
  • 胶州市 网站建设企业如何创建品牌
  • 全屏产品网站专业网站建设费用
  • 济南网站怎么做seo做配件出口上什么网站
  • 青海汽车网站建设推广普通话手抄报简单又好看内容
  • iis6 建设网站浏览模板做的网站如何下载
  • 网站建设视频技术论坛阿里云域名怎么做网站
  • 如何用子域名做网站wordpress主题放哪
  • 如果让你建设一个网站上海设计网站公司
  • 用php做网站要用什么软件曲阜做网站哪家好
  • 电子商务网站的建设与规划书软件界面设计方案
  • 手机网站底部固定菜单wordpress登陆不跳转
  • 加强企业门户网站建设什么网站可以做外国生意
  • 好看的公司网站网易企业邮箱登录登录入口
  • 顺庆区城乡规划建设局门户网站app展示网站模板html5
  • 推荐大良网站建设怎样编写网站
  • 社交网站开发客户摄影网站怎么备案
  • 网站建设中界面模板wordpress二维码生成
  • wordpress个人下载网站成都网站建设多少钱
  • 网建网站软件关键词排名
  • 吕梁购物网站开发设计公司网站不备案吗
  • 怎么创建网站 免费的做视频网站被判刑
  • 大学网站建设图百度查询入口
  • 关于新农村网络建设网站小程序开发公司价格表
  • 网站备案准备资料管理咨询公司起名字
  • 企业网站开发用什么语言写设计公司口号