![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
滑动窗口
高木同学丶
此人不懒,但是他什么都不想写
展开
-
Leetcode刷题笔记——904. 水果成篮【哈希表、滑动窗口】
题目思路理解完题目即可发现,这题的本质是要求数组中的最长连续子数组长度,不同的是这个连续子数组可以拥有两个不同的元素。由于存在不同的元素,首先可以想到用哈希表记录子数组不同元素的出现次数,该哈希表的长度应该不超过2,一旦超过2说明出现了第3种元素,需要将之前出现的2种元素中的任意一种剔除出去,这种右侧向右扩展,出现意外需要左侧运动的思路很容易想到滑动窗口。滑动窗口模板代码:int left=0;int len=0,res=0;for(int i=0;i<nums.size();i++){原创 2021-12-21 20:16:54 · 295 阅读 · 0 评论 -
Leetcode刷题笔记——209. 长度最小的子数组【滑动窗口(动态)】
题目思路首先就想到滑动窗口,这题用常规的滑动窗口能做,但是效率不高。图片思路来自代码随想录(https://programmercarl.com/0209.%E9%95%BF%E5%BA%A6%E6%9C%80%E5%B0%8F%E7%9A%84%E5%AD%90%E6%95%B0%E7%BB%84.html#%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3)采用动态的滑动窗口,即滑动窗口找到窗口内的内容符合条件时,窗口从左侧开始缩小,每缩小一次判断一次是否还符合条件,若符原创 2021-12-20 20:59:52 · 190 阅读 · 0 评论