当前位置:   article > 正文

华为OD机试 C++【最长子字符串的长度】_给你一个字符串 s,字符串s首尾相连成一个环形 ,请你在环中找出 'o' 字符出现了偶

给你一个字符串 s,字符串s首尾相连成一个环形 ,请你在环中找出 'o' 字符出现了偶

题目

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

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

输出描述
输出是一个整数

备注
1 ≤ s.length ≤ 500000
s 只包含小写英文字母

用例
输入 alolobo
输出 6
说明 最长子字符串之一是 “alolob”,它包含2个’o’

解题思路

1、统计字符串中 ‘o’ 的总个数。
2、如果 ‘o’ 的总个数是偶数,那么整个字符串就是满足条件的最长子字符串,直接返回字符串的长度。
3、如果 ‘o’ 的总个数是奇数,那么去掉一个 ‘o’ 后,剩余的部分就是满足条件的最长子字符串,返回字符串长度减一。

代码

#include <iostream>
#include <string>

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

闽ICP备14008679号