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

Java | Leetcode Java题解之第424题替换后的最长重复字符

题目:

题解:

public 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;int right = 0;int res = 0;int maxCount = 0;int[] freq = new int[26];// [left, right) 内最多替换 k 个字符可以得到只有一种字符的子串while (right < len){freq[charArray[right] - 'A']++;// 在这里维护 maxCount,因为每一次右边界读入一个字符,字符频数增加,才会使得 maxCount 增加maxCount = Math.max(maxCount, freq[charArray[right] - 'A']);right++;if (right - left > maxCount + k){// 说明此时 k 不够用// 把其它不是最多出现的字符替换以后,都不能填满这个滑动的窗口,这个时候须要考虑左边界向右移动// 移出滑动窗口的时候,频数数组须要相应地做减法freq[charArray[left] - 'A']--;left++;}res = Math.max(res, right - left);}return res;}
}

http://www.mrgr.cn/news/33178.html

相关文章:

  • Golang | Leetcode Golang题解之第424题替换后的最长重复字符
  • 【全网最全】2024年华为杯研赛B题成品论文获取入口(后续会更新)
  • NLP 主要语言模型分类
  • Postman cURL命令导入导出
  • 【CSS in Depth 2 精译_036】5.6 Grid 网格布局中与对齐相关的属性 + 5.7本章小结
  • SkyWalking 接入微服务
  • 医院伤员小程序点餐———未来之窗行业应用跨平台架构
  • 几何最起码常识凸显“井底蛙”数学一直将无穷多各异射线误为同一线
  • ESP32-WROOM-32 [创建AP站点-客户端-TCP透传]
  • 联合和枚举
  • C语言 | Leetcode C语言题解之第423题从英文中重建数字
  • 在Ubuntu 18.04上使用rbenv安装Ruby on Rails的方法
  • linux如何启用ipv6随机地址
  • 不同的ipv6地址的用途
  • C++初阶学习——模版进阶
  • 【Nginx】Nginx 监控详解
  • 华润电力最新校招社招润择认知能力测评:逻辑推理数字计算语言理解高分攻略
  • 机器学习周报第五十七周 GATRes
  • 计算机视觉:VGGNet网络详解
  • 每日学习一个数据结构-布谷鸟过滤器Cuckoo Filter