当前位置: 首页 > news >正文

力扣(LeetCode)算法_C++——替换后的最长重复字符

给你一个字符串 s 和一个整数 k 。你可以选择字符串中的任一字符,并将其更改为任何其他大写英文字符。该操作最多可执行 k 次。

在执行上述操作后,返回包含相同字母的最长子字符串的长度。

示例 1:
输入:s = “ABAB”, k = 2
输出:4
解释:用两个’A’替换为两个’B’,反之亦然。
示例 2:

输入:s = “AABABBA”, k = 1
输出:4
解释:
将中间的一个’A’替换为’B’,字符串变为 “AABBBBA”。
子串 “BBBB” 有最长重复字母, 答案为 4。
可能存在其他的方法来得到同样的结果。

    int characterReplacement(string s, int k) {//int ans = 0;int left = 0, right = 0, maxCnt = 0;int fre[26] = {0};while (right < s.size()) {fre[s[right] - 'A']++;maxCnt = max(maxCnt, fre[s[right] - 'A']);if (right - left + 1 - maxCnt > k) {//ans = ans < (right - left) ? (right - left) : ans;fre[s[left] - 'A']--;left++;}right++;}//ans = ans < (right - left) ? (right - left) : ans;//return ans;return right - left;}
http://www.lryc.cn/news/165675.html

相关文章:

  • unity 编辑器时读取FairyGUI图集单个图像
  • 下载配置 maven并在 idea 上应用
  • 网站搭建从零开始(0)--域名的选择与解析
  • 数分面试题2-牛客
  • Android codec2 编码 -- 基于录屏
  • 【Java基础篇 | 面向对象】--- 聊聊什么是多态(上篇)
  • 如何使用 Node.js和Express搭建服务器?
  • 帮公司面试了个要25K的测试,我问了他这些问题...
  • Matlab之创建空数组的多种方法汇总
  • HTML实现移动端布局与页面自适应
  • CSS3技巧36:backdrop-filter 背景滤镜
  • 【计算机网络】传输层协议——TCP(上)
  • GO语言网络编程(并发编程)Goroutine池
  • C++面试/笔试准备,资料汇总
  • 【Unity3D】UI Toolkit数据动态绑定
  • 微信小程序如何在切换页面后原页面状态不变
  • 蓝桥杯官网填空题(生成树)
  • Qt Designer UI设计布局小结
  • linux设备树节点添加新的复位属性之后设备驱动加载异常问题分析
  • 连nil切片和空切片一不一样都不清楚?那BAT面试官只好让你回去等通知了。
  • 前端构建工具 webpack 笔记
  • .Net MVC 使用Areas后存在相同Controller时报错的解决办法; 从上下文获取请求的Area名及Controller名
  • docker-compose部署etcd集群
  • 微信怎么定时发圈?
  • 记录造数据测试接口
  • 数据结构基础7:二叉树【链式结构】实现和递归思想。
  • [.NET 6] IHostedService 的呼叫等等我的爱——等待Web应用准备就绪
  • 基于jeecg-boot的flowable流程自定义业务退回撤回或驳回到发起人后的再次流程提交
  • python如何学习
  • Centos7更新php7.2版本升级