c 做网站优点,网站建设项目内容,外网下载,做与食品安全有关的网站OD统一考试#xff08;C卷#xff09; 分值#xff1a; 100分 题解#xff1a; Java / Python / C 题目描述
给你一个字符串 s#xff0c;字符串s首尾相连成一个环形#xff0c;请你在环中找出字符出现了偶数次最长子字符串的长度。
输入描述
输入是一串小写字母组成的… OD统一考试C卷 分值 100分 题解 Java / Python / C 题目描述
给你一个字符串 s字符串s首尾相连成一个环形请你在环中找出字符出现了偶数次最长子字符串的长度。
输入描述
输入是一串小写字母组成的字符串
输出描述
输出是一个整数
示例1
输入
alolobo输出
6说明
最长子字符串之一是“alolob”它包含o2个示例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;
}Java
import 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);}
}Python
from collections import Counter
s input()
cnt Counter(s)
print((len(s) if cnt[o] % 2 0 else len(s) - 1))整理题解不易 如果有帮助到您请给点个赞 ❤️ 和收藏 ⭐让更多的人看到。