概述
- 先阐述下滑动窗口是一类怎么样的问题
-
窗口: 说明肯定是连续的,但是窗口的大小是不知道的
-
滑动窗口问题,重点是判断窗口类的对象是否满足条件!,如果满足条件,就记录,然后减少窗口的大小(左指针),如果不满足条件,就增大窗口的大小(右指针)
-
public void search(int[] nums) {
// 左右指针确定
int left = 0, right = 0;
// 开始扩大 右指针的访问
while (right < nums.length) {
// 增加窗口的大小
windows.add(nums[right]);
// 指向下一个位置,还未加入的位置
right++;
// 条件成立
while (judge(windows)){
//执行相关的记录操作
dosomething();
// 移除窗口类的左边
windows.remove(nums[left]);
left++;
}
}
}
- 关键点:
-
双重 while 循环!!
-