华为OD机试D卷 --最长子字符串的长度(二) --24年OD统一考试(Java & JS & Python & C & C++)

文章目录

    • 题目描述
    • 输入描述
    • 输出描述
    • 用例
    • 题目解析
    • 算法源码

题目描述

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

输入描述

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

输出描述

输出是一个整数

备注

  • 1≤s.length≤5* 10^5
  • s只包含小写英文字母

用例

输入
alolobo
输出
6
说明
最长子字符串之一是"alolob”,它包含’I’, ‘o’各2个,以及0个’x’。

输入
looxdolx
输出
7
说明
最长子字符串是“looxdolx”,由于是首尾连接在一起的,所以最后一个’x’和开头的’l’是连接在一起的,此字符串包含2个’l‘,2个’o’,2个’x‘

输入
bcbcoC
输出
6
说明
这个示例中,字符串"bcbcbc" 本身就是最长的,因为’T’、 ‘o’ 、’ x’都出现了0次。

题目解析

  1. 首先,我们需要统计字符串s中’l’、‘o’、‘x’字符的出现次数。
    2.然后,我们需要找到