当前位置:   article > 正文

华为od机试题-最长子字符串的长度二-200-cpp_给你一个字符串s,字符串s首尾相连成一个环形

给你一个字符串s,字符串s首尾相连成一个环形

题目:
最长子字符串的长度(二)

给你一个字符串s,字符串s首尾相连成一个环形,请你在环中找
出T、’0’、'x'字符都恰好出现了偶数次最长子字符串的长度。
输入描述
输入是一串小写的字母组成的字符串.
输出描述
输出是一个整数
补充说明
1 <= s.length <=5x10^5
s 只包含小写英文字母。

示例1

输入
alolobo
输出
6
说明
最长子字符串之一是"alolob",它包合T,‘0'各2个,以及0个'x’。
示例2
输入
looxdolx
输出
7
说明
最长子字符串是“oxdolxl",由于是首尾连接在一起的,所以最后一
个X和开头的T是连接在一起的,此字符串包含2个T,2个'0',2
示例3
输入
bcbcbc
输出

6
说明
这个示例中,字符串“bcbcbc"本身就是最长的,因为T、'0’、'X' 都出
现了0次。

思路:
使用滑动窗口算法,通过维护一个滑动窗口,动态地更新窗口的状态和位置,从而找到满足条件的最大子串长度

代码:
 

#include <bits/stdc++.h>
using namespace std;

int main() {
    string

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/786573
推荐阅读
相关标签
  

闽ICP备14008679号