华为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();
    }
}
相关推荐
_院长大人_14 小时前
设计模式-工厂模式
java·开发语言·设计模式
凌波粒14 小时前
MyBatis完整教程IDEA版(2)--ResultMap/注解/一对多/多对一/lombok/log4j
java·intellij-idea·mybatis
蓝-萧14 小时前
【玩转全栈】----Django基本配置和介绍
java·后端
priority_key14 小时前
排序算法:堆排序、快速排序、归并排序
java·后端·算法·排序算法·归并排序·堆排序·快速排序
不染尘.15 小时前
2025_11_7_刷题
开发语言·c++·vscode·算法
汤姆yu16 小时前
基于SpringBoot的动漫周边商场系统的设计与开发
java·spring boot·后端
皮皮林55116 小时前
快速解决 Maven 版本冲突指南 !
java·maven
灰小猿16 小时前
Spring前后端分离项目时间格式转换问题全局配置解决
java·前端·后端·spring·spring cloud
来荔枝一大筐16 小时前
力扣 寻找两个正序数组的中位数
算法
算法与编程之美16 小时前
理解Java finalize函数
java·开发语言·jvm·算法