給你乙個僅由大寫英文本母組成的字串,你可以將任意位置上的字元替換成另外的字元,總共可最多替換 k 次。在執行上述操作後,找到包含重複字母的最長子串的長度。
注意:字串長度 和 k 不會超過 104。
示例 1:
輸入:s = 「abab」, k = 2
輸出:4
解釋:用兩個』a』替換為兩個』b』,反之亦然。
示例 2:
輸入:s = 「aababba」, k = 1
輸出:4
解釋:將中間的乙個』a』替換為』b』,字串變為 「aabbbba」。
子串 「bbbb」 有最長重複字母, 答案為 4。
分析: 同樣的是滑動視窗,開闢了nums(26)動態記錄當前子字串中各個元素的個數,每次移動左右指標的判斷條件都是:當前滑窗的大小除去滑窗中最多的重複元素的個數與k對比,**如下
int
characterreplacement
(string s,
int k)
right++;}
return right - left;
}
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 不會超過 10 4。右指標移動並更新資料 判斷是否滿足左指標移動條件 最終以左右指標差為答案 1 陣列 用於記錄字母重複字...