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

LC2730 找到最长的半重复字符串

目录
  • 1 题目
  • 2 解答


1 题目

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

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

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

示例 1:

输入:s = "52233"

输出:4

解释:

最长的半重复子字符串是 "5223"。整个字符串 "52233" 有两个相邻的相同数字对 22 和 33,但最多只能选取一个。

示例 2:

输入:s = "5494"

输出:4

解释:

s 是一个半重复字符串。

示例 3:

输入:s = "1111111"

输出:2

解释:

最长的半重复子字符串是 "11"。子字符串 "111" 有两个相邻的相同数字对,但最多允许选取一个。

提示:

  • 1 <= s.length <= 50
  • '0' <= s[i] <= '9'

2 解答

class Solution:def longestSemiRepetitiveSubstring(self, s: str) -> int:n= len(s)left = 0ans = 1 # 长度最短是一位same_times = 0if s == None:return 0for right in range(1 , n , 1):# left 是0 那么right从后一位开始即可if s[right-1] == s[right]:same_times = same_times + 1if same_times > 1:left = left + 1while s[left-1] != s[left]:left = left + 1same_times -= 1ans = max(ans , right - left + 1)return ans
http://www.sczhlp.com/news/46024/

相关文章:

  • CSP-S 2024 提高级 第一轮试题(初赛)答案及解析
  • java 时区时间转为UTC
  • cf2121f
  • 使用 MSE 流量防护轻松面对运行态流量不确定风险的最佳实践
  • 怎么做flash网站设计谷歌广告平台
  • 网站怎么注销备案号营销型网站制作公司
  • 手机网站开发升上去郑州整站网站优化
  • 郑州正规网站制作公司天津做网站的网络公司
  • seo做的好的网站有哪些百度搜题
  • 茶叶手机网站南宁seo内部优化
  • js 访问网站统计刷新不增加次数网上做推广怎么收费
  • 手机网站模板 html5 下载工具seo关键词优化经验技巧
  • web网站开发语言排名松原头条新闻今日新闻最新
  • P11673 [USACO25JAN] Median Heap G 题解
  • LC2958 最多k个重复元素的最长子数组
  • 北京科技奖励折射创新风向标:信息技术引领、产学研协同成关键驱动力
  • LC34 在排序数组中查找元素的第一个和最后一个位置
  • 郴州网站排名优化优化方案的格式及范文
  • 山西做网站建设的平台中国seo谁最厉害
  • 珠海动态网站制作外包天津百度seo推广
  • 招聘网站开发工程师黑帽seo教程
  • c++开发大模型mcp服务(一)目的和概念
  • C/C++ 之堆栈变幻:函数调用的底层轨迹
  • Docker Buildx 简介与安装指南
  • 20258.28模拟赛
  • PHP中如何定义常量以及常量和变量的主要区别
  • 山东企业建站系统信息山东疫情最新情况
  • 个人网站免费注册百度推广哪家做的最好
  • 苏州网站定制谷歌google官方下载
  • 北京vi设计招聘上海比较好的seo公司