问题:给出一个由大写字母构成的字符串,可以对字符串最多作k次操作,将一个字符转换为另外一个字符。
找出操作后最长的重复子串
思路:使用滑动窗口,及用一个长度为26的数组记录字符个数。初始时,窗口大小为0,即left=right,在遍历时,如果更新字符计数及当前最大重复字符长度。如果滑动窗口大小大于(可变换的k次操作+最大重复字符长度),则将滑动窗口向右移动,即left+1,同时更新滑动窗口内的字符计数。
具体代码参考:
https://github.com/wuli2496/OJ/tree/master/LeetCode/Longest%20Repeating%20Character%20Replacement