千家信息网

LeetCode中怎么替换后的最长重复字符串

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,LeetCode中怎么替换后的最长重复字符串,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。题目描述:给你一个仅由大写英文字母组成的字符串
千家信息网最后更新 2026年11月03日LeetCode中怎么替换后的最长重复字符串

LeetCode中怎么替换后的最长重复字符串,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

题目描述:

给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。

注意:字符串长度 和 k 不会超过 10^4。

示例 1:

输入:s = "ABAB", k = 2
输出:4
解释:用两个'A'替换为两个'B',反之亦然。

示例 2:

输入:s = "AABABBA", k = 1
输出:4
解释:
将中间的一个'A'替换为'B',字符串变为 "AABBBBA"。
子串 "BBBB" 有最长重复字母, 答案为 4

思路分析:

一看到最长字符串就想到滑动窗口。

算法流程:

  • 右边界先移动找到一个满足题意的可以替换 k 个字符以后,所有字符都变成一样的当前看来最长的子串,直到右边界纳入一个字符以后,不能满足的时候停下;
  • 然后考虑左边界向右移动,左边界只须要向右移动一格以后,右边界就又可以开始向右移动了,继续尝试找到更长的目标子串;
  • 替换后的最长重复子串就产生在右边界、左边界交替向右移动的过程中。
class Solution:
def characterReplacement(self, s: str, k: int) -> int:
from collections import defaultdict
d = defaultdict(int)
l = 0
maxn = 0
for r in range(len(s)):
d[s[r]] += 1
maxn = max(maxn, d[s[r]])
if r - l + 1 > maxn + k: # bc it is for loop, r += 1 is later than if clause
d[s[l]] -= 1
l += 1
return len(s) - l
class Solution {
public int characterReplacement(String s, int k) {
int len=s.length();
if(len<2){
return len;
}
char[] chararray=s.toCharArray();
int left=0,right=0;
int maxCount=0,res=0;
int[] freq = new int[26];
while(right freq[chararray[right]-'A']++;
maxCount=Math.max(maxCount,freq[chararray[right]-'A']);
right++;
if(right-left>maxCount+k){
freq[chararray[left]-'A']--;
left++;
}
res=Math.max(res,right-left);

}
return res;
}
}

看完上述内容,你们掌握LeetCode中怎么替换后的最长重复字符串的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

字符 最长 字符串 移动 右边 字母 两个 内容 方法 更多 示例 长度 问题 解释 输入 输出 束手无策 为此 位置 原因 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 互联网是第几次科技革命的成果 互联网科技会 广州互联网科技公司 为想互联网科技 天津摩尔互联网科技 时间互联网络科技 互联网科技英文翻译 哈尔滨新华互联网科技 滨湖区互联网智能科技产品供应 互联网科技创新企业排名 互联网科技公司需要的职位 阿里互联网科技公司 湖南一路畅行互联网科技 燊美集互联网科技有限公司 华夏恒生互联网科技013171 中国新注册互联网科技 互联网科技企业商标注意事项 互联网科技大会大佬 武汉亿视互联网科技有限公司 互联网科技公司做什么 汉立互联网科技有限公司联系电话 深圳国际航运科技和互联网 重庆威客帮互联网科技 广州市恰铎互联网科技有限公司 企晟互联网信息科技有限公司 互联网科技公司营业执照怎么办理 伊宁互联网科技做什么的 中国新注册互联网科技 互联网科技平台产品运营
0