华为od(D卷) 环中最长子串/字符成环找偶数

文章目录

题目描述

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

输入描述

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

备注

1 <= s.length <= 5 x 10^5

s 只包含小写英文字母

输出描述

输出是一个整数

示例1

输入

alolobo
输出

6

示例2

输入

looxdolx
输出

7

示例3

输入

bcbcbc
输出

6

思路

如果'o' 是偶数, 最长子串就是本身

如果'o' 是奇数, 环在o处断开,减少一个'o', 最长子串就是字符串长度-1。

代码

java 复制代码
public class Demo12 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            String s = in.nextLine();
            int num = 0;
            for (int i = 0; i < s.length(); i++) {
                if (s.charAt(i) == 'o') {
                    num++;
                }

            }
            if (num % 2 == 0) {
                System.out.println(s.length());
            } else {
                System.out.println(s.length() - 1);
            }

        }


        in.close();
    }
}
相关推荐
tobias.b3 分钟前
408真题解析-2009-41-数据结构-最短路径
数据结构·算法·计算机考研·408考研·408真题解析
王老师青少年编程4 分钟前
2024年9月GESP真题及题解(C++七级): 矩阵移动
c++·算法·题解·真题·gesp·七级·矩阵移动
程序员侠客行6 分钟前
Mybatis插件原理及分页插件
java·后端·架构·mybatis
a努力。8 分钟前
得物Java面试被问:Netty的ByteBuf引用计数和内存释放
java·开发语言·分布式·python·面试·职场和发展
Mcband9 分钟前
Spring Boot 整合 ShedLock 处理定时任务重复执行的问题
java·spring boot·后端
棒棒的皮皮11 分钟前
【深度学习】YOLO 进阶提升之算法改进(新型骨干网络 / 特征融合方法 / 损失函数设计)
深度学习·算法·yolo·计算机视觉
大只鹅15 分钟前
Java集合框架-Collection
java·开发语言
悟空码字15 分钟前
Spring Cloud 集成 Nacos,全面的配置中心与服务发现解决方案
java·nacos·springcloud·编程技术·后端开发
小冷coding15 分钟前
【Java】基于Java的线上贷款分发业务技术栈设计方案
java·开发语言