最长子字符串的长度 (一) - 华为OD统一考试(C卷)
OD统一考试(C卷)
分值: 100分
题解: Java / Python / C++
题目描述
给你一个字符串 s,字符串s首尾相连成一个环形,请你在环中找出字符o出现了偶数次最长子字符串的长度。
输入描述
输入是一串小写字母组成的字符串
输出描述
输出是一个整数
示例1
输入
alolobo
输出
6
说明
最长子字符串之一是“alolob”,它包含'o'2个
示例2
输入
looxdox
输出
7
说明
最长子字符串是"oxdolxl",由于是首尾连接在一起的,所以最后一个'x'和开头的'l'是连接在一起的,此字符串包含2个o。
示例3
输入
bcbcbc
输出
6
说明
这个示例中,字符串“bcbcbc”本身就是最长的,因为o'都出现了0次
题解
这是一个字符串处理问题,需要找出一个环形字符串中字符出现偶数次最长子字符串的长度。
思路
- 首先统计字符串中字符'o'的出现次数。
- 如果字符'o'的出现次数是偶数,那么最长子字符串的长度就是整个字符串的长度。
- 如果字符'o'的出现次数是奇数,那么最长子字符串的长度就是整个字符串长度减1。
C++
#include <iostream>
using namespace std;
int ma
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
华为OD机试题库题解2024 文章被收录于专栏
华为OD机考(CDE卷)题库(绝对都是原题),帮助你上岸华为(已经不少小伙伴成功上岸)。提供Java、Python、C++ 三种语言的解法。每篇文章都有详细的解题步骤、代码注释详细及相关知识点的练习题。有问题,随时解答。