原题原题,12月27日的原题
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 main(){    string s;    cin >> s;    int cnt = 0;    for(char c : s) if(c == 'o') cnt++;    int rs = (cnt % 2 == 0) ? s.length() : s.length() - 1;    cout << rs << endl;    return 0;}Javaimport java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner in = new Scanner(System.in);        String s = in.nextLine();        int cnt = 0;        for (char c : s.toCharArray()) if (c == 'o') cnt++;        int rs = (cnt % 2 == 0) ? s.length() : s.length() - 1;        System.out.println(rs);    }}Pythonfrom collections import Counters = input()cnt = Counter(s)print((len(s) if cnt['o'] % 2 == 0 else len(s) - 1))🙏整理题解不易, 如果有帮助到您,请给点个赞 ‍❤️‍ 和收藏 ⭐,让更多的人看到。🙏🙏🙏
点赞 9
评论 4
全部评论

相关推荐

2025-11-22 14:21
未填写教育信息 Java
程序员花海:实习太简单了 学历可以的 实习描述应该是先介绍业务 再介绍技术 技术咋推动业务的 做到了啥收益 有没有做实验 实验组和对照组有什么不同 你最后学到了什么 有没有参与处理过线上问题 有没有参与过公司的code review 有没有参与过技术分享 这些都是可以在实习描述中写的 并且实习和项目不一样不会撞车 应该放在最前面 放在教育背景下面 另外项目有点烂大街 可以看下我主页的简历优化案例
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务