LeetCode 424. 替换后的最长重复字符(双指针+滑动窗口)
题目描述
给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。
注意:
字符串长度 和 k 不会超过 104。
示例 1:
输入:
s = “ABAB”, k = 2
输出:
4
解释:
用两个’A’替换为两个’B’,反之亦然。
示例 2:
输入:
s = “AABABBA”, k = 1
输出:
4
解释:
将中间的一个’A’替换为’B’,字符串变为 “AABBBBA”。
子串 “BBBB” 有最长重复字母, 答案为 4。
思路
详见链接
代码
class Solution:def characterReplacement(self,s:str,k:int) -> int:letter_num = {}l = 0res = 0for r in range(len(s)):letter_num[s[r]] = letter_num.get(s[r],0) + 1max_letter = max(letter_num , key = letter_num.get)while r-l+1 - letter_num[max_letter] > k:letter_nums[s[l]] -= 1l += 1max_letter = max(letter_num , key = letter_num.get)res = max(res,r-l+1)return res
test = Solution()
test.characterReplacement("ABAB" , 2)
效果
LeetCode 424. 替换后的最长重复字符(双指针+滑动窗口)相关推荐
- leetcode 424. 替换后的最长重复字符(滑动窗口)
给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次.在执行上述操作后,找到包含重复字母的最长子串的长度. 注意:字符串长度 和 k 不会超过 104 ...
- 2022-2-12 Leetcode 424.替换后的最长重复字符
class Solution {public:int characterReplacement(string s, int k) {vector<int> num(26);//建立 has ...
- leetcode 424. Longest Repeating Character Replacement | 424. 替换后的最长重复字符(Java)
题目 https://leetcode.com/problems/longest-repeating-character-replacement/ 题解 class Solution {public ...
- 力扣--替换后的最长重复字符
力扣–替换后的最长重复字符 文章目录 力扣--替换后的最长重复字符 一.题目描述 二.分析 三.代码 一.题目描述 二.分析 题目的意思比较清楚,不过可能的情况有很多,不可能用代码去寻找最佳的替换位置 ...
- 替换后的最长重复字符
替换后的最长重复字符 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换k次.在执行上述操作后,找到包含重复字母的最长子串的长度. 注意:字符串长度 和k不 ...
- LeetCode-424:替换后的最长重复字符
题目描述: 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次.在执行上述操作后,找到包含重复字母的最长子串的长度. 注意:字符串长度 和 k 不会 ...
- 重复次数最多的 子串_每日算法系列【LeetCode 424】替换后的最长重复字符
题目描述 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次.在执行上述操作后,找到包含重复字母的最长子串的长度. 示例1 输入: s = &quo ...
- Leetcode--424. 替换后的最长重复字符
给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次.在执行上述操作后,找到包含重复字母的最长子串的长度. 注意: 字符串长度 和 k 不会超过 10 ...
- 滑动窗口 - 替换后的最长重复字符
题目链接 维护一个滑动窗口,记录窗口中出现频率最高的次数maxCnt,当窗口大小(right−left)>maxCnt+k(right - left) > maxCnt + k(right ...
最新文章
- ON REG EXPRESSION.SYNTAX
- AJAX请求和跨域请求详解(原生JS、Jquery)
- golang网络编程
- 阿里将在雄安新区设3家子公司:涉AI、蚂蚁金服和菜鸟;北航设立全国首个人工智能专业,与百度合作办学...
- rust废铁最快_Rust初体验,它确实有点快
- [html] 为什么移动端页面的设计稿一般是750px/640px呢?
- 力扣77.组合(JavaScript)
- html5中颜色范围,HTML5输入范围:将runnable-track的颜色更改为当前值
- Golang Import使用入门
- Hive 基础及安装
- 稳扎稳打Silverlight(18) - 2.0视频之详解MediaElement, 开发一个简易版的全功能播放器...
- 小米平板2刷Linux教程,小米平板2刷机教程 官方线刷图文教程
- leetcode LCP3 机器人大冒险(C++)
- adb关闭系统自动更新
- reactrouter4路由钩子_React-Router4.x中文文档
- oracle创建表空间工具,使用sqlplus命令行工具为oracle创建用户和表空间
- C 语言为什么不会过时?
- utran体系结构包括_接入网体系结构
- MySQL5.7配置my.ini文件
- windows10重装后锁定其他盘_云骑士新版一键重装win7系统教程
热门文章
- Openstack api security testing tools
- 【操作系统/OS笔记03】启动、中断、异常和系统调用
- JSP和JSTL获取服务器参数
- 育碧2k微软服务器,育碧服务器出现大规模的BUG:影响到多个平台
- smokeping的启动脚本
- 表达回填字体颜色_使用Python创建标注表达式
- Webpack 简介
- filter:alpha(opacity=100,style=1)
- 10个受欢迎的英文名
- html用ajax做三级联动,怎样使用JS+AJAX做出三级联动