sliding_window
时间: 2023-06-20 21:03:20 浏览: 153
Sliding Window
滑动窗口(sliding window)是一种常用的算法技巧,它可以在一个区间或序列上执行操作,通常用于解决字符串、数组等问题。
具体来说,滑动窗口算法维护一个窗口,该窗口通常是一个连续的子序列或子串。该算法通过在窗口内滑动来更新结果。在窗口滑动的过程中,我们通常会记录窗口的左右边界,然后根据具体问题在窗口内进行操作,直到找到所需的结果。
例如,我们可以使用滑动窗口算法来查找一个字符串中的最长无重复子串。我们可以维护一个窗口,该窗口包含不同字符的最长子串。在窗口滑动的过程中,我们使用哈希表来记录当前窗口内包含的不同字符,并根据需要扩大或缩小窗口。
滑动窗口算法的时间复杂度通常是线性的,即 O(n),其中 n 是序列或区间的长度。
阅读全文