微信菜单栏那些网站怎么做,wordpress更新以后进不去了,wordpress自定义json,wordpress 获得用户题目
链接#xff1a;leetcode链接
思路分析#xff08;滑动窗口#xff09;
读完题目#xff0c;很明显#xff0c;这个题目需要我们寻找一个最长子数组#xff0c;使得这个子数组里面最多存在两种不同的数字#xff0c;很容易联想到使用滑动窗口。
另外#xff…题目
链接leetcode链接
思路分析滑动窗口
读完题目很明显这个题目需要我们寻找一个最长子数组使得这个子数组里面最多存在两种不同的数字很容易联想到使用滑动窗口。
另外需要使用hash表来记录区间内的不同种水果的个数
首先还是leftright 0 进窗口right进哈希表 判断哈希表的size 2就需要出窗口 出窗口hash[left]–的同时要去判断是否hash[left] 0如果等于0删除该元素即可 更新结果ret max(retright - left 1
代码
int totalFruit(vectorint fruits) {unordered_mapint,int hash;int ret 0;for(int left 0,right 0;right fruits.size();right){hash[fruits[right]];//进窗口while(hash.size() 2)//这个地方在不定长窗口就是通过循环来控制窗口合法{hash[fruits[left]]--;if(hash[fruits[left]] 0) hash.erase(fruits[left]);left;}ret max(right - left 1,ret);}return ret;}