Sliding Window

209. Minimum Size Subarray Sum

209. Minimum Size Subarray Sum class Solution: def minSubArrayLen(self,

340. Longest Substring with At Most K Distinct Character

340. Longest Substring with At Most K Distinct Character 159.

438. Find All Anagrams in a String

483. Find All Anagrams in a String 1. 我們需要想的是窗口增大的時候,需要更新哪些資訊?

485. Max Consecutive Ones

485. Max Consecutive Ones 這也是一個滑動窗口的應用,右邊指針不斷的往右側前進,如果說一直是一的話,左側的指針就不會動,右指針的位置減去左指針的位置就是連續 1

239. Sliding Window Maximum

239. Sliding Window Maximum 這一題是滑動窗口的問題,不過困難的點是在於如何收縮窗口,直接透過程式碼的註解解釋會比較容易。 這裡會用到的是 queue 來記錄「

159. Longest Substring with At Most Two Distinct Characters

159. Longest Substring with At Most Two Distinct Characters class

3. Longest Substring Without Repeating Characters

3. Longest Substring Without Repeating Characters 這一題其實是可以透過暴力解法想辦法算出來的,那就是窮舉出所有的子字串,並且檢查每一個子字串有沒有重複的字元。時間複雜度約為

424. Longest Repeating Character Replacement

424. Longest Repeating Character Replacement class Solution: def characterReplacement(self,

209. Minimum Size Subarray Sum

209. Minimum Size Subarray Sum 題目有給目標值,要找尋的子陣列是子陣列總和大於或等於目標值即可。 所以滑動窗口的題目,我們只要找到子陣列的總和開始大於或等於目標的時候,就可以開始縮減窗口,

713. Subarray Product Less Than K

713. Subarray Product Less Than K 這一題很是 LeetCode 上面難度中等的題目,題目結構也很容易就可以想到是滑動窗口的題目,