424 替換後的最長重複字元

2021-10-24 11:22:33 字數 757 閱讀 6158

題目描述:

給你乙個僅由大寫英文本母組成的字串,你可以將任意位置上的字元替換成另外的字元,總共可最多替換 k 次。在執行上述操作後,找到包含重複字母的最長子串的長度。

注意:字串長度 和 k 不會超過 104。

示例 1:

輸入:s = 「abab」, k = 2

輸出:4

解釋:用兩個』a』替換為兩個』b』,反之亦然。

示例 2:

輸入:s = 「aababba」, k = 1

輸出:4

解釋:將中間的乙個』a』替換為』b』,字串變為 「aabbbba」。

子串 「bbbb」 有最長重複字母, 答案為 4。

方法1:

主要思路:

(1)使用滑動視窗;

(2)保持視窗最大 為當前視窗內最多的字元的數量加上k的大小;

class

solution

;//統計各個字元出現的次數

int left=

0,right=

0,res=

0,max_count=0;

while

(rightsize()

) res=

max(res,right-left);//

}return res;}}

;

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 輸...

424 替換後的最長重複字元

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