c语言怎么实现滑动窗口算法,【C语言】滑动窗口算法

1.滑动窗口的思想:

它是一个运行在一个大数组上的子列表,该数组是一个底层元素集合。假设有数组 [a b c d e f g h ],一个大小为 3 的 滑动窗口 在其上滑动,则有:

[a b c]

[b c d]

[c d e]

[d e f]

[e f g]

[f g h]

一般情况下就是使用这个窗口在数组的 合法区间 内进行滑动,能够极大地提高算法地效率

2.滑动窗口的几个例题应用

1。

思考:

c语言怎么实现滑动窗口算法,【C语言】滑动窗口算法_第1张图片

滑动窗口算法可以解决字符串的子串中的几类应用问题

主要思想是:left与right同时从0开始变化,哈希表所记录的dict如果出现不止一次,那么就把左边界重新赋值到新出现的位置,右边界不管咋样都向后一个一个的移动,每次都记录下max,max为右减左再加一,因为从0开始。

图解:

4a1a035c9d3275375050b7a10c0ac29f.png

源代码:

#include

#include

int lengthOfLon

你可能感兴趣的:(c语言怎么实现滑动窗口算法)