2024华为OD机试真题-最长子字符串的长度(一)-C++-OD统一考试(C卷D卷)

题目描述

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

输入描述

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

输出描述

输出是一个整数

备注

1 ≤ s.length ≤ 500000

s 只包含小写英文字母

用例1

输入

alolobo

输出

6

说明

最长子字符串之一是 "alolob",它包含2个'o'

用例2

输入

looxdolx

输出

7

说明

最长子字符串之一是 "oxdolxl",它包含2个'o'。

因为字符串首尾相连

用例3

输入

abcdefg

输出

7

考点

逻辑思维

代码

cpp 复制代码
str=input()
cnt=0 #统计'o'的个数
res=len(str)

for i in str:
    if i=='o':
        cnt+=1
if cnt%2!=0:
    res=res-1

print(res)
相关推荐
大白话_NOI11 分钟前
【洛谷 P2678】 [NOIP2015 提高组] 跳石头 超详细题解
c++·算法
chase_my_dream1 小时前
LeGO-LOAM 详细源码流程解读
c++·计算机视觉·自动驾驶
插件开发2 小时前
vs2015 cuda c++ 线程号的计算详解
开发语言·c++·算法
有点。2 小时前
C++(前缀和与差分)
c++·算法
c++之路2 小时前
Bazel C++ 构建系列文档(五):多目标与多包项目
java·开发语言·c++
Hello:CodeWorld2 小时前
【C++ 避坑指南】告别缓冲区溢出!全面解析 std::snprintf 的安全美学与核心陷阱
开发语言·c++·安全
凡人叶枫2 小时前
Effective C++ 条款38:通过复合塑模出 has-a 或 \“根据某物实现出\
linux·开发语言·c++·windows
凡人叶枫2 小时前
Effective C++ 条款40:明智而审慎地使用多重继承
java·数据库·c++·嵌入式开发·effective c++
ShineWinsu2 小时前
对于Linux:线程局部存储(TLS)和线程封装的解析
linux·c++·面试·线程·tls·线程封装·线程局部存储
工头阿乐2 小时前
使用Conan构建现代C++项目:完整指南
开发语言·c++