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

【424. 替换后的最长重复字符】

Leetcode算法练习 笔记记录

  • 424. 替换后的最长重复字符

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

这里还是借用Leetcode1004的思想,把问题变成将其他字符替换为目标字符后哪一种最长

    public int characterReplacement(String s, int k) {//如果只有1个直接返回1if (s.length() == 1) {return 1;}//如果是同一种字符串,直接返回长度,因为直接是最长的char[] array = s.toCharArray();Set<Character> set = new HashSet<>();for (char c : array) {set.add(c);}if (set.size() == 1) {return s.length();}int max = Integer.MIN_VALUE;for (char c : set) {int curMax = handle(k, array, c);max = Math.max(max, curMax);}return max;}private static int handle(int k, char[] array, char target) {int max = 0;int left = 0;int replaceCount = 0;for (int right = 0; right < array.length; right++) {if (array[right] != target) {replaceCount++;}while (replaceCount > k) {if (array[left] != target) {replaceCount--;}left++;}max = Math.max(max, right - left + 1);}return max;}
http://www.xdnf.cn/news/8222.html

相关文章:

  • docker-compose常用命令介绍
  • 已经 上线 Vue 项目 国际化 i18n 中译英
  • OpenCV 图像对象的创建与赋值
  • Apollo10.0学习——planning模块(9)之参数详解一
  • Vscode +Keil Assistant编译报错处理
  • C++ -- vector
  • 系统性能分析基本概念(5) : 何时开始性能分析
  • 【语法】C++的map/set
  • 平安健康2025年一季度深耕医养,科技赋能见成效
  • Android Service与BroadcastReceiver深度解析:从零到一的实现与优化
  • python实现web请求
  • 力扣小题, 力扣113.路径总和II力扣.111二叉树的最小深度 力扣.221最大正方形力扣5.最长回文子串更加优秀的算法:中心扩展算法
  • 解压软件推荐:功能、优缺点及使用技巧
  • 【题解-洛谷】P11951 [科大国创杯初中组 2023] 数数
  • w~自动驾驶~合集13
  • 杰发科技AC7840——使用内部温度
  • IO多路复用
  • mysql 创建用户,创建数据库,授权
  • Spring Boot 内置工具类汇总与讲解
  • NumPy 2.x 完全指南【十八】数组元素的新增和删除
  • 数据结构与算法-算法复杂度
  • vue页面目录菜单有些属性是根据缓存读取的。如果缓存更新了。希望这个菜单也跟着更新。
  • 编程速递-RAD Studio 12.3 Athens五月补丁:May Patch Available
  • 制作一款打飞机游戏54:子弹编辑UI
  • 视频文件损坏怎么修复?4款专业视频修复工具推荐
  • JUC入门(六)
  • webpack性能优化
  • 【Pandas】pandas DataFrame round
  • 深入解读Qwen3技术报告(三):深入剖析Qwen3模型架构
  • 【网络篇】TCP协议的三次握手和四次挥手