当前位置:   article > 正文

【华为OD机考 统一考试机试C卷】最长子字符串的长度(二)(Java题解)_华为od 最长子字符串的长度(二)

华为od 最长子字符串的长度(二)

(Java)华为OD机试C卷+D卷+AB卷 +刷题OJ

2023年11月份,华为官方已经将 华为OD机考:OD统一考试(A卷 / B卷)切换到 OD统一考试(C卷)和 OD统一考试(D卷) 。根据考友反馈:目前抽到的试卷为B卷或C卷/D卷,其中C卷居多 ,按照之前的经验C卷D卷部分考题会复用A卷/B卷题,博主正积极从考过的同学收集C卷和D卷真题,可以查看下面的真题目录。
真题目录:【Java题解】华为 OD 机试 C卷抽中题库清单(全真题库)含考点说明以及在线OJ
专栏:(Java)华为OD机试C卷+D卷+AB卷+刷题OJ
华为OD面试真题精选:华为OD面试真题精选
在线OJ:点击立即刷题,模拟真实机考环境

题目描述

给你一个字符串 s,字符串s首尾相连成一个环形 ,请你在环中找出’l’、‘o’、‘x’ 字符都恰好出现了偶数次最长子字符串的长度。

输入描述

输入是一串小写的字母组成的字符串s。

1 <= s.length <= 5 x 10^5

s 只包含小写英文字母。

输出描述

输出是一个整数

用例1

输入

alolobo
  • 1

输出

6
  • 1

说明:最长子字符串之一是 “alolob”,它包含 ‘l’,'o’各 2 个,以及 0 个 ‘x’ 。

用例2

输入

looxdolx
  • 1

输出

7
  • 1

说明

最长子字符串是 “oxdolxl”,由于是首尾连接在一起的,所以最后一个 ‘x’ 和开头的 'l’是连接在一起的,此字符串包含 2 个 ‘l’ ,2个 ‘o’ ,2个 ‘x’ 。

用例3

输入

bcbcbc
  • 1

输出

6
  • 1

说明

字符串 “bcbcbc” 本身就是最长的,因为 ‘l’、‘o’、‘x’ 都出现了 0 次。

解题思路

思路解析

  1. 外层循环

    • 从字符串的每个字符开始,遍历整个字符串。这个循环的目的是以每个字符作为子字符串的起始点。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/800648
推荐阅读
相关标签
  

闽ICP备14008679号