1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

  • 我们要在一个环形字符串中,寻找由同一字符组成的最长连续子串长度。环形的本质是首尾相连,因此可以把原串 sss “展开”为 s+ss+ss+s 来模拟在环上跨越末尾与开头的连续段。

  • 相关算法:线性扫描(双指针 / 跑段)。在 s+ss+ss+s 上从左到右扫描,维护当前连续相同字符的长度 cur 和答案 ans。当遇到相同字符时 cur++,否则将 cur 重置为 1。最终答案应当不超过原串长度 nnn,因此返回 min(ans, n)。

  • 实现要点:

    1. 若原串全为同一字符,则在 s+ss+ss+s 中会出现长度为 2n2n2n 的连续段,但合法答案最多为 nnn。
    2. 只需一次线性遍历,无需额外数据结构。
    3. 为节省空间,可不实际构造 s+ss+ss+s,而是用取模索引访问字符 s[i % n],扫描区间为 i = 1..2n-1。

P3832.第2题-环形字符串

    1000ms Tried: 27 Accepted: 15 Difficulty: 3 所属公司 : 网易
    算法与标签>双指针

题目内容

小红拿到了一个环形字符串(非空串)。所谓环形字符串,即首尾相连的字符串。

小红希望截取该字符串的一段连续子串,使得该子串的所有字符都相同。

小红想知道,满足条件的连续子串长度最大是多少?

输入描述

输入仅有一行,为一个仅包含小写字母的字符串。

字符串的长度不超过 200000200000200000 。

输出描述

连续相同字母的子串最大长度

样例1

输入

abbcbe

输出

2

说明

取子串 "bbbbbb“ 即可。

样例2

输入

aabaa

输出

4

说明

取子串 “aaaaaaaaaaaa”,注意首尾是相连的。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 38ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?