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

2025年- H103-Lc211--3090. 每个字符最多出现两次的最长子字符串(双指针)--Java版

1.题目

在这里插入图片描述

2.代码实现

class Solution {public int maximumLengthSubstring(String s) {//存储字符和字符出现的频率Map<Character,Integer> m=new HashMap<>();int left=0;int maxlenth=0;int cnt=0;//子串说明是连续的,如果某个字符出现了3次,就直接从该字符的下一个字符寻找for(int right=0;right<s.length();right++){char c=s.charAt(right);// 将新进入窗口的字符计数加一m.put(c,m.getOrDefault(c,0)+1);while(m.get(c)>2){// 1. 获取滑动窗口最左边的字符char oldleft=s.charAt(left);// 将这个最左边字符的频率减一,因为它即将移出窗口m.put(oldleft,m.get(oldleft)-1);//3. 将 left 指针右移,完成窗口的收缩left++;}maxlenth=Math.max(maxlenth,right-left+1);}return maxlenth;}}
http://www.dtcms.com/a/359306.html

相关文章:

  • 基于FPGA的正弦波和及滤波(已通过仿真和上板)
  • Spring boot注解介绍
  • 【51单片机】【protues仿真】基于51单片机音乐盒(8首歌曲)系统
  • 策略模式:灵活应对算法动态切换
  • AI军团协同作战:Manus Wide Research深度解析
  • 【LeetCode_27】移除元素
  • stm32F4挂载emmc以及重定义printf
  • 解决Docker运行hello-world镜像报错问题
  • Decoder 解码器
  • 【MLLM】多模态理解Ovis2.5模型和训练流程(更新中)
  • 工业产品营销:概念、原理、流程与实践指南
  • Ubuntu中通过SSH克隆Windows的远程Git仓库(局域网中挺有用)
  • QWidget和QML模式下阻止槽调用的方法总结
  • Megatron-LM(模型并行)
  • 【ACP】2025-最新-疑难题解析- 练习二汇总
  • STFT和梅尔频谱图
  • 项目管理的关键成功因素
  • 119、【OS】【Nuttx】【周边】效果呈现方案解析:变量展开
  • 【从零开始java学习|第十篇】面向对象
  • 【Blender】二次元人物制作【一】:二次元角色头部建模
  • Gray Code (格雷码)
  • 2025.8.30项目二基于UDP的TFTP文件传输
  • 【ICO】快速制作ICON教材/使用icofx3快速制作ico
  • 【多项式】快速沃尔什变换 (FWT)
  • 复现 RoboDK 机器人校准功能(以Staubli TX2‑90L / TX200机械臂为测试对象)
  • 关于铭飞平台企业官网模板使用中常到的问题、企业官网的百度认证以及IDEA编辑启动器的快捷方法/Apipost本地和云端没法同步的问题解决
  • 如何改变传统教育的消费习惯-第三代结束-第四代开启
  • 数值分析——数据误差对函数值的影响
  • 数据治理进阶——26页如何进行数据治理【附全文阅读】
  • 项目管理方法论有哪些流派