滑動視窗 替換後的最長重複字元

2021-10-19 02:58:52 字數 528 閱讀 4506

題目鏈結

維護乙個滑動視窗,記錄視窗**現頻率最高的次數maxcnt,當視窗大小(ri

ght−

left

)>ma

xcnt

+k(right - left) > maxcnt + k

(right

−lef

t)>ma

xcnt

+k時,表示當前無法通過替換k個字元滿足要求,這時需要將視窗左邊界右移。

在編寫**時,雖然不能保證視窗中maxcnt的正確性,但是只有當前視窗**現頻率最高的次數達到上一次的maxcnt,才會有更優解,所以並不影響最終解。

class

solution

ans =

max(ans, right - left);}

return ans;}}

;

替換後的最長重複字元

給你乙個僅由大寫英文本母組成的字串,你可以將任意位置上的字元替換成另外的字元,總共可最多替換k次。在執行上述操作後,找到包含重複字母的最長子串的長度。注意 字串長度 和k不會超過104。輸入 s abab k 2 輸出 4 解釋 用兩個 a 替換為兩個 b 反之亦然。輸入 s aababba k 1...

424 替換後的最長重複字元

給你乙個僅由大寫英文本母組成的字串,你可以將任意位置上的字元替換成另外的字元,總共可最多替換 k 次。在執行上述操作後,找到包含重複字母的最長子串的長度。注意 字串長度 和 k 不會超過 104。示例 1 輸入 s abab k 2 輸出 4 解釋 用兩個 a 替換為兩個 b 反之亦然。示例 2 輸...

424 替換後的最長重複字元

給你乙個僅由大寫英文本母組成的字串,你可以將任意位置上的字元替換成另外的字元,總共可最多替換 k 次。在執行上述操作後,找到包含重複字母的最長子串的長度。注意 字串長度 和 k 不會超過 104。示例 1 輸入 s abab k 2 輸出 4 解釋 用兩個 a 替換為兩個 b 反之亦然。示例 2 輸...