目录
[2. 滑动窗口例题](#2. 滑动窗口例题)
[2.1 例题1:长度最小的子数组](#2.1 例题1:长度最小的子数组)
[2.1.1 解题思路](#2.1.1 解题思路)
[2.1.2 方法一:暴力枚举出所有的子数组的和](#2.1.2 方法一:暴力枚举出所有的子数组的和)
[2.1.3 方法二:使用 "同向双指针" 也就是滑动窗口来进行优化](#2.1.3 方法二:使用 “同向双指针” 也就是滑动窗口来进行优化)
[2.2 例题2:无重复字符的最长子串](#2.2 例题2:无重复字符的最长子串)
[2.2.1 方法一:暴力枚举+哈希表(判断字符是否重复出现)](#2.2.1 方法一:暴力枚举+哈希表(判断字符是否重复出现))
[2.2.2 利用规律,使用"滑动窗口"来解决](#2.2.2 利用规律,使用“滑动窗口”来解决)
1.什么是滑动窗口?
滑动窗口是两个指针,向着一个方向,不会退,像一个窗口般的移动。
2. 滑动窗口例题
2.1 例题1:长度最小的子数组
[力扣-长度最小的子数组]https://leetcode.cn/problems/minimum-size-subarray-sum/description/
2.1.1 解题思路
2.1.2 方法一:暴力枚举出所有的子数组的和
这种时间复杂度太高,为O(n^2),解法太lou。有逼格的解法请看解法二
2.1.3 方法二:使用 "同向双指针" 也就是滑动窗口来进行优化
2.2 例题2:无重复字符的最长子串
2.2.1 方法一:暴力枚举+哈希表(判断字符是否重复出现)
时间复杂度为O(N^2),同样这个方法我们不讲解,没有任何学习价值,最佳解法请看解法二。