LeetCode中怎么替换后的最长重复字符串
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,LeetCode中怎么替换后的最长重复字符串,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。题目描述:给你一个仅由大写英文字母组成的字符串
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
温州网络技术支持公司
服务器安全设置技巧
工程管理专业好还是网络安全好
租服务器怎么建网页
全国软件开发展会
技术先进的数据库
我的世界黏土服务器礼盒
江岸哪里有软件开发中心
音乐服务器出错
金苗系统如何更改数据库ip地址
西宁网络技术哪家好
惠普服务器如何设置时间
2019网络安全宣传周日程
软件开发接口管理
连接oracle数据库
大数据网络安全题
延庆区电子软件开发介绍
kmczz4服务器在哪
深圳逗号互联网科技有限公司
深圳狮子王网络技术有限公司
信息系统网络安全方案2021
孔增强网络安全
2019网络技术评测
坂田软件开发公司
如何调用数据库的数据制作统计图
快手服务器地址
数据库运行安全管理
2021网络安全宣传周宣传片
广州项目软件开发多少钱
菲律宾菠菜业软件开发