华为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();
    }
}
相关推荐
We་ct14 分钟前
LeetCode 30. 串联所有单词的子串:从暴力到高效,滑动窗口优化详解
前端·算法·leetcode·typescript
-Try hard-15 分钟前
数据结构|概念及单向有头链表
数据结构·算法·vim
小马爱打代码16 分钟前
Spring AI 实战:Agent 基础搭建与核心能力解析
java·人工智能·spring
历程里程碑17 分钟前
子串----和为K的子数组
大数据·python·算法·leetcode·elasticsearch·搜索引擎·哈希算法
csdn2015_17 分钟前
springboot task
java·spring boot·后端
Aaron158819 分钟前
通信灵敏度计算与雷达灵敏度计算对比分析
网络·人工智能·深度学习·算法·fpga开发·信息与通信·信号处理
2301_7903009621 分钟前
C++中的命令模式
开发语言·c++·算法
2301_8223769423 分钟前
C++中的解释器模式
开发语言·c++·算法
czlczl2002092527 分钟前
Spring Boot :如何高性能地在 Filter 中获取响应体(Response Body)
java·spring boot·后端
xhbaitxl27 分钟前
算法学习day31-贪心算法
学习·算法·贪心算法