Sliding Window 滑動窗口
滑動窗口題目算是雙指針的一類題目,不過不同於其他雙指針是從兩邊出發,滑動窗口的題目是同向出發。
在處理滑動窗口的問題的時候,我們需要注意以下四個問題
我們需要想的是窗口增大的時候,需要更新哪些資訊?
何時要收縮窗口?
收縮窗口時,需要更新哪些資訊?
最終結果要在「擴大窗口」時更新還是「收縮窗口」時更新?
left = 0
right = 0
table = defaultdict(int)
while (right < len(arr)):
# Do something
table[arr[right]] += 1
right += 1
while (table[arr[right]] > 1):
# Do something
table[arr[left]] -= 1
left += 1
Last updated