收回之前的话,当条件变得复杂时,滑动窗口确实难了许多,而且我还有还多语法尚未掌握,但没关系,最难的还是踏出第一步,哈哈哈,做出了一道简单的滑动窗口的题,还是蛮开心的。
我做的题目是Leetcode中的 ,是道典型的滑动窗口题
class Solution {
public int totalFruit(int[] fruits) {
int left = 0;
int size = 0;
int basket1 = -1 ;
int basket2 = -1 ;
int result = 0;
for(int right = 0 ; right < fruits.length ; right++){
basket1 = fruits[left];
if(fruits[right] == basket1 && basket2 == -1 ){
size += 1;
}else if(fruits[right] != basket1 && basket2 == -1 ){
basket2 = fruits[right];
size += 1;
}else if(fruits[right] == basket1 || fruits[right] == basket2){
size += 1;
}else{
result = Integer.max(result,size);
basket1 =basket2;
basket2 = -1;
while(fruits[left] != basket1){
left++;
}
right = left - 1;
size = 0;
}
}
result = Integer.max(result,size);
return result;
}
}
哈哈哈,还是得加油,对自己狠点!