五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

424. 替換后的最長重復(fù)字符 | 滑動窗口題型

2020-04-21 11:28 作者:有木乘舟  | 我要投稿

分析:這題求的是重復(fù)字符的最長連續(xù)子串。我們先將題目拆解成兩個部分:

  • 當(dāng)k=0時,求重復(fù)字符的最長連續(xù)子串

  • 當(dāng)0<k<10^4時,替換窗口中k個字符,使子串保持連續(xù)重復(fù)

當(dāng)k=0時,這題可轉(zhuǎn)化為簡單的求重復(fù)字符的最長連續(xù)子串,窗口的長度就是我們需要求出來的答案。針對這一問題,我們可以將窗口問題轉(zhuǎn)化為兩個判斷依據(jù):

  • 當(dāng)右指針指向的字符與當(dāng)前窗口內(nèi)的子串字符相同時,向右擴充窗口(將右指針字符添加進窗口,窗口大小+1)

  • 否則,向右平移窗口(移除窗口最左邊字符,左指針+1,窗口大小不變)

圖片來自@migoo

? 具體的實現(xiàn)中,當(dāng)right指向的字符是非重復(fù)字符時,我們可以直接將窗口移動到當(dāng)前字符right這個位置,然后重新開始計算字符長度。

? 要注意理解,滑動窗口題型中的哈希表存儲的信息,我們知道滑動窗口的本質(zhì)是動態(tài)規(guī)劃思想,也就是使用額外的空間存儲重復(fù)的信息,利用空間換時間的方式來降低時間復(fù)雜度,因此哈希表存儲的信息十分關(guān)鍵。

? 在這個問題中,哈希表里存儲的是當(dāng)前窗口中重復(fù)字符的個數(shù)。

??當(dāng) 0<k<10^4?時,我們可以通過將窗口中的k個字符進行替換,來使窗口中的子串均為重復(fù)字符。

??因此判斷條件變成了:如果當(dāng)前窗口中出現(xiàn)次數(shù)最多的字符個數(shù)+K大于當(dāng)前子串長度,意味著子串還可以增加,因此進行窗口擴充操作(left不變,right++);反之,將窗口向右平移(left++,right++,并將left對應(yīng)的字符移除)。

? 另一和424相似的題,這一題僅僅只是把任意字符換成了 0,1數(shù)字,其他條件不變。

? 我們只需要將計算窗口中的數(shù)量最多的字符換成計算窗口中的1的數(shù)量即可。


424. 替換后的最長重復(fù)字符 | 滑動窗口題型的評論 (共 條)

分享到微博請遵守國家法律
凉城县| 治县。| 卓尼县| 安康市| 宿松县| 昌邑市| 合肥市| 穆棱市| 阜新市| 水富县| 陆川县| 赣州市| 六安市| 建平县| 西吉县| 泸州市| 江川县| 高阳县| 长泰县| 吉木萨尔县| 东宁县| 平陆县| 嵩明县| 库车县| 九江市| 公安县| 怀远县| 凤冈县| 油尖旺区| 溧水县| 东方市| 囊谦县| 长岛县| 桑植县| 会东县| 东安县| 娄底市| 泰来县| 吉林省| 茂名市| 鄯善县|