C语言认证考试、面试常考字符串、数组满足特定条件的最小、最大等等,需要用到滑动窗口,如下题:

数组:https://leetcode-cn.com/problems/minimum-size-subarray-sum/

LeetCode刷题--算法-滑动窗口

思路(最小值问题):1、左右指针初始化数组(包含字符串)开始

2、右指针移动,直到满足条件(sum > s),(找到第一个窗口)

3、缩小窗口(左指针右移动),直到不满足条件,记下返回值

4、重复2,3

AC代码:

LeetCode刷题--算法-滑动窗口

字符串:

https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/

LeetCode刷题--算法-滑动窗口

思路(最大值问题):1、左右指针初始化数组(包含字符串)开始

2、右指针移动,直到不满足条件(包含重复字符),(找到第一个窗口)

3、缩小窗口(左指针右移动),记下返回值

4、重复2,3

AC代码:

LeetCode刷题--算法-滑动窗口

一开始有一个用例超时了,优化了一下ac了,优化前的代码:

LeetCode刷题--算法-滑动窗口

 

相关文章: