偃师制作网站,响应式科技公司网站模板,网站图片代码怎么做,网站建设 在电商的作用解题思路#xff1a;滑动窗口
创建hash表记录水果的种类和数量
两个指针left 和 right 从数组起始位置开始滑动#xff0c;right在循环内
hash[fruits[right]] 进窗口
然后判断 hash表中的种类是否大于2
一旦大于2就要想办法出窗口 出窗口需要将hash表中种类重回2种 …
解题思路滑动窗口
创建hash表记录水果的种类和数量
两个指针left 和 right 从数组起始位置开始滑动right在循环内
hash[fruits[right]] 进窗口
然后判断 hash表中的种类是否大于2
一旦大于2就要想办法出窗口 出窗口需要将hash表中种类重回2种 这时候就要动用left指针
然后更新结果
代码如下
class Solution {
public:int totalFruit(vectorint fruits) {unordered_mapint,int hash;//前面存种类 后面存数量int ret0;for(int left0,right0 ;rightfruits.size();right){hash[fruits[right]];//进窗口while(hash.size()2){hash[fruits[left]]--;if(hash[fruits[left]]0)//出窗口{hash.erase(fruits[left]);}left;}retmax(ret,right-left1);}return ret;}
};