C语言认证考试、面试常考字符串、数组满足特定条件的最小、最大等等,需要用到滑动窗口,如下题:
数组:https://leetcode-cn.com/problems/minimum-size-subarray-sum/
思路(最小值问题):1、左右指针初始化数组(包含字符串)开始
2、右指针移动,直到满足条件(sum > s),(找到第一个窗口)
3、缩小窗口(左指针右移动),直到不满足条件,记下返回值
4、重复2,3
AC代码:
字符串:
https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
思路(最大值问题):1、左右指针初始化数组(包含字符串)开始
2、右指针移动,直到不满足条件(包含重复字符),(找到第一个窗口)
3、缩小窗口(左指针右移动),记下返回值
4、重复2,3
AC代码:
一开始有一个用例超时了,优化了一下ac了,优化前的代码: