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

LeetCode 2730.找到最长的半重复子字符串

题目

给你一个下标从 0 开始的字符串 s ,这个字符串只包含 0 到 9 的数字字符。

如果一个字符串 t 中至多有一对相邻字符是相等的,那么称这个字符串 t 是 半重复的 。例如,"0010" 、"002020" 、"0123" 、"2002" 和 "54944" 是半重复字符串,而 "00101022" (相邻的相同数字对是 00 和 22)和 "1101234883" (相邻的相同数字对是 11 和 88)不是半重复字符串。

请你返回 s 中最长 半重复 子字符串的长度。

思路

代码

class Solution {public int longestSemiRepetitiveSubstring(String s) {char[] ch = s.toCharArray();int n = ch.length;int ans = 1;int left = 0;int cnt = 0;for (int right = 1; right < n; right++) {if (ch[right] == ch[right - 1] && ++cnt > 1) {// 关键部分 注意left++// 把left移动到前一对重复出现的二人的右边for(left++; ch[left] != ch[left - 1]; left++);cnt = 1;}ans = Math.max(ans, right - left + 1);}return ans;}
}

性能

时间复杂度o(n)

空间复杂度o(1)


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

相关文章:

  • invokeMethod和直接调用函数的区别是什么
  • C++学习笔记----9、发现继承的技巧(五)---- 多重继承(1)
  • 基于RabbitMQ,Redis,Redisson,RocketMQ四种技术实现订单延时关闭功能及其相关优缺点介绍(以12306为主题)
  • 【深度学习代码调试5】标准化数据集:TensorFlow Datasets (TFDS)自动化数据加载与预处理
  • QoS学习笔记
  • 058_基于python时尚女装抖音号评论数据分析系统
  • 怎么消除背景音乐保留人声?让人声清晰可辨
  • Stable Diffusion 3.5发布:图像生成新纪元,多模态AI的突破!
  • 深入浅出神经网络:从基础原理到高级应用
  • Redis 哨兵模式
  • 文字识别接口应用场景解析-身份证识别、发票识别API、车牌识别
  • 智能听诊器革新宠物健康监测
  • 快速上手学习API接口和应用开发
  • SAP 数据以0.5为基数向下取整
  • **KAMA指标**,用于衡量股价趋势的一个技术分析指标
  • 【T+】畅捷通T+软件更新补丁提示当前系统中没有安装T+产品
  • pandas_profiling :教你一行代码生成数据分析报告
  • 【002】基于springboot的医护人员排班系统
  • SpringBoot poi-tl通过模板占位符生成word文件
  • 第一批用AI的设计师,已经彻底赚翻了!
  • 网站怎么做的?
  • 【语音转文本新体验】Windows部署Whisper Web结合内网穿透轻松远程转录——“cpolar内网穿透”
  • 【vue2.7.16系列】手把手教你搭建后台系统__selectIcon和svgIcon组件(12)
  • 1024节的由来?程序员节的由来?
  • Springboot网络安全培训平台-计算机毕业设计源码88959
  • R语言笔记(二):向量