当前位置: 首页 > 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.xdnf.cn/news/1409257.html

相关文章:

  • leetcode 268 丢失的数字
  • AG32 Nano开发板的烧录与调试工具(二)
  • 【开题答辩全过程】以 基于vue+springboot的校园疫情管理系统的设计与实现为例,包含答辩的问题和答案
  • 异步编程与面向对象知识总结
  • 家庭全光组网高温故障深度分析与散热重构全记录
  • 【图论】Graph.jl 核心函数
  • 一种使用 Java / Kotlin 编写检测BT种子的磁力链接是否有可用 peers 的程序
  • 扩展:如何设计与实现一个微服务架构下的跨服务异常处理适配器?
  • linux修改权限命令chmod
  • sunset: twilight靶场
  • 利用ms-swift微调和百炼平台微调大模型
  • FTP - 学习/实践
  • 【学习笔记】LLM Interview(Agent相关)
  • (附源码)基于Vue的教师档案管理系统的设计与实现
  • 安装Android Studio
  • centos 7 安装docker、docker-compose教程
  • SketchUp Pro 2024 Mac 3D建模 草图设计大师
  • Redis八股小记
  • 【了解下TJ、TC、TB、TT、TA、qJA、qJC、qJB、YJB、YJT】
  • Asible——将文件部署到受管主机和管理复杂的Play和Playbook
  • [linux仓库]解剖Linux内核:文件描述符(fd)的‘前世今生’与内核数据结构探秘
  • 编写一个用scala写的spark程序从本地读取数据,写到本地
  • 【ArcGIS微课1000例】0150:如何根据地名获取经纬度坐标
  • openssl使用SM2进行数据加密和数据解密
  • 科普:requirements.txt 和 environment.yml
  • Labview使用modbus或S7与PLC通信
  • Machine Learning HW3 report:图像分类(Hongyi Lee)
  • 《深入剖析Kafka分布式消息队列架构奥秘》之Springboot集成Kafka
  • 中级统计师-统计实务-第四章 专业统计
  • 嵌入式ARM程序高级调试技能:20.qemu arm ARM Linux 上 addr2line 的实际应用示例