目录
一:题目
二:算法原理
三:代码实现
一:题目
题目链接:904. 水果成篮 - 力扣(LeetCode)
二:算法原理
三:代码实现
class Solution {
public:int totalFruit(vector<int>& fruits){int cont = 0;int ret = 0;vector<int> hash;hash.resize(fruits.size());for (int right = 0, left = 0; right < fruits.size(); right++){//进窗口if (hash[fruits[right]] == 0){cont++;}hash[fruits[right]]++;while (cont > 2)//判断{//出窗口 hash[fruits[left]]--;if (hash[fruits[left]] == 0)cont--;left++; }//更新结果ret = max(ret, right - left+1);}return ret;}
};