特斯拉在美國召回 947 輛電動汽車:倒車時不顯示後部影像
阿新 • • 發佈:2022-03-25
最近刷題,經常刷到滑動視窗演算法的題目,總結一下精華:
概念:
在特定視窗大小(而非整個字串,視窗大小不固定,可以縮放)的陣列或字串上操作。
優勢:
將部分場景問題的多層巢狀迴圈,變成單迴圈,減少時間複雜度。
基本過程:
-
我們在陣列或字串中使用雙指標中的左右指標技巧,初始化 left = right = 0,把索引閉區間 [left, right] 稱為一個「視窗」。
-
我們先不斷地增加 right 指標擴大視窗 [left, right],直到視窗中的字串符合要求(包含了 T 中的所有字元)。
-
此時,我們停止增加 right,轉而不斷增加 left 指標縮小視窗 [left, right],直到視窗中的字串不再符合要求(不包含 T 中的所有字元了)。同時,每次增加 left,我們都要更新一輪結果。
-
重複第 2 和第 3 步,直到 right 到達陣列或字串的盡頭。
典型應用:
TCP流量控制