通用技巧

滑动窗口的相比暴力破解效率更高,因为每个元素都只会进入窗口一次。时间复杂度时O(N)

滑动窗口算法技巧的思路也不难,就是维护一个窗口,不断滑动,然后更新答案,该算法的大致逻辑如下:

var left,right int 

for l<r&&r<len(nums) {
    window.Add(nums[right])
    right++
    
    for window.IsNeedReduce() {
        window.Remove(nums[left])
        left--
    }
}

Last updated