我把雙指針技巧再分為兩類,一類是「快慢指針」,一類是「左右指針」。前者解決主要解決鏈表中的問題,比如典型的判定鏈表中是否包含環;后者主要解決數組(或者字符串)中的問題,比如二分查找。 一、快慢指針的常見算法 快慢指針一般都初始化指向鏈表的頭結點 head,前進時快指針 fast 在前,慢指針 ...
讀完本文,你可以去力扣拿下如下題目: .最小覆蓋子串 .字符串的排列 .找到字符串中所有字母異位詞 .無重復字符的最長子串 鑒於前文 二分搜索框架詳解 的那首 二分搜索升天詞 很受好評,並在民間廣為流傳,成為安睡助眠的一劑良方,今天在滑動窗口算法框架中,我再次編寫一首小詩來歌頌滑動窗口算法的偉大: 關於雙指針的快慢指針和左右指針的用法,可以參見前文 雙指針技巧匯總,本文就解決一類最難掌握的雙指針技 ...
2020-11-15 09:47 0 429 推薦指數:
我把雙指針技巧再分為兩類,一類是「快慢指針」,一類是「左右指針」。前者解決主要解決鏈表中的問題,比如典型的判定鏈表中是否包含環;后者主要解決數組(或者字符串)中的問題,比如二分查找。 一、快慢指針的常見算法 快慢指針一般都初始化指向鏈表的頭結點 head,前進時快指針 fast 在前,慢指針 ...
本文詳解「滑動窗口」這種高級雙指針技巧的算法框架,帶你秒殺幾道高難度的子字符串匹配問題。 LeetCode 上至少有 9 道題目可以用此方法高效解決。但是有幾道是 VIP 題目,有幾道題目雖不難但太復雜,所以本文只選擇點贊最高,較為經典的,最能夠講明白的三道題來講解。第一題為了讓讀者掌握算法模板 ...
基本原理就不做介紹了, 很基礎的數據結構課程知識.私下回顧即可,主要學習代碼. 1.雙指針 https://leetcode-cn.com/problems/two-sum-ii-input-ar ...
什么是滑動窗口(Sliding Window) The Sliding Problem contains a sliding window which is a sub – list that runs over a Large Array which is an underlying ...
測試情景: 公司的項目接口越來越多,由於開發周期短,時間緊,缺乏接口文檔,直接使用swagger記錄所有接口信息。那么: 1. 我們如何更快的測試動輒300+數量的接口,如何分組管理和維護這些接口 ...
209 長度最小的子數組 https://leetcode-cn.com/problems/minimum-size-subarray-sum/submissions/ 首先是滑動窗口的思路,我感覺這種尋找滿足某個條件的連續的子集,如這里的數組,可能還會在字符串里用到。 但這題卡 ...
有一個長為 \(n\) 的序列 \(a\),以及一個大小為 \(k\) 的窗口。現在這個從左邊開始向右滑動,每次滑動一個單位,求出每次滑動后窗口中的最大值和最小值。 思路 其實我們可以把窗口看成是一個區間。例如從第 \(i\) 為開始的一個長度為 \(k\) 的窗口其實就是一個 \([i ...
題目描述 現在有一堆數字共N個數字(N<=10^6),以及一個大小為k的窗口。現在這個從左邊開始向右滑動,每次滑動一個單位,求出每次滑動后窗口中的最大值和最小值。 例如: The array is [1 3 -1 -3 5 3 6 7], and k = 3. ...