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

注意:
字符串长度 和 不会超过 104。

示例 1:

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

示例 2:

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

class Solution {
public:
    int characterReplacement(string s, int k) {
        int res = 0, maxCnt = 0, start = 0;
        vector<int> counts(26, 0);
        for (int i = 0; i < s.size(); ++i) {
            maxCnt = max(maxCnt, ++counts[s[i] - 'A']);
            while (i - start + 1 - maxCnt > k) {
                --counts[s[start] - 'A'];
                ++start;
            }
            res = max(res, i - start + 1);
        }
        return res;
    }
};

424.替换后的最长重复字符相关推荐

  1. leetcode 424. 替换后的最长重复字符(滑动窗口)

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

  2. LeetCode 424. 替换后的最长重复字符(双指针+滑动窗口)

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

  3. 2022-2-12 Leetcode 424.替换后的最长重复字符

    class Solution {public:int characterReplacement(string s, int k) {vector<int> num(26);//建立 has ...

  4. leetcode 424. Longest Repeating Character Replacement | 424. 替换后的最长重复字符(Java)

    题目 https://leetcode.com/problems/longest-repeating-character-replacement/ 题解 class Solution {public ...

  5. 力扣--替换后的最长重复字符

    力扣–替换后的最长重复字符 文章目录 力扣--替换后的最长重复字符 一.题目描述 二.分析 三.代码 一.题目描述 二.分析 题目的意思比较清楚,不过可能的情况有很多,不可能用代码去寻找最佳的替换位置 ...

  6. 替换后的最长重复字符

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

  7. LeetCode-424:替换后的最长重复字符

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

  8. 重复次数最多的 子串_每日算法系列【LeetCode 424】替换后的最长重复字符

    题目描述 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次.在执行上述操作后,找到包含重复字母的最长子串的长度. 示例1 输入: s = &quo ...

  9. Leetcode--424. 替换后的最长重复字符

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

  10. Leetcode每日一题:424.longest-repeating-character-replacement(替换后的最长重复字符)

    思路:参考题解:seerJJJ发布的题解 不必纠结maxL到底要不是随着窗口的变化而变化,maxL始终代表记录过的一个窗口中出现最多字符的个数,所以它肯定要么保持不变,要么增大:每次右移后都找滑窗中出 ...

最新文章

  1. 在CentOS 6.6 64bit上为vim 7.4安装并配置vim-airline插件
  2. VS2005中ajax安装指南[转]
  3. beeline执行sql语句_由“Beeline连接HiveServer2后如何使用指定的队列(Yarn)运行Hive SQL语句”引发的一系列思考...
  4. html+li标签+高度,有时在使用Jquery插入LI元素时,JavaScript不会调整UL元素的高度
  5. m.2接口和nvme区别_M.2硬盘的分类和区别
  6. python消息队列中间件_python-RabbtiMQ消息队列
  7. jdk的selector(2)channel的注册
  8. 巴赛尔协议与贷款产品利率解析
  9. 【Java并发.3】对象的共享
  10. 在html标签中写css样式,html style样式标签元素教程
  11. php图片位置偏移代码,关于PHP的fseek()方法,究竟是什么偏移(位置)?
  12. 如何使用网易有道词典翻译英文文档(word格式、pdf格式)
  13. html5鼠标右键事件,js鼠标右键点击事件
  14. 建立“图书_读者”数据库及如下 3 个表,并输入实验数据,用 SQL 语句实现如下五个查询(opengauss)
  15. java程序员面试时候经常会问的一些问题_面试JAVA程序员常遇到的一些问题了解一下...
  16. 2020腾讯数分笔试
  17. 全球及中国智能Android电视行业竞争情况及营销趋势预测报告(2022-2027)
  18. TensorFlow Mnist数据集下载问题
  19. 信号的定义 脉冲函数与阶跃函数 脉冲分解
  20. Reflector、ReflectorFactory的今生

热门文章

  1. Three.js中的矩阵
  2. ubuntu/Windows双系统,在ubuntu隐藏window分区的方法
  3. 动态添加gridview行【转:http://www.cnblogs.com/oec2003/articles/1069796.html】
  4. python虚拟环境 pyenv_Python多版本管理和虚拟环境维护(pyenv, pyenv-virtualenv)
  5. mongodb 3.4 安装_【云服务器Centos7.x建站】MongoDB 3.4安装、使用、错误总结
  6. php访问属性两种方式,使用PHP访问对象的属性
  7. opencv计算图像亮度调节_图像数据集增强方式总结和实现【数字图像处理系列四】...
  8. 【CF1312D】Count the Arrays(计数)
  9. 【clion】自定义优美的代码配色(主题)
  10. 【算法笔记】对两种线性基的理解