找出该字符串中出现次数最多的那个字符
程序员文章站
2022-07-02 11:49:51
给定一个长度不限的字符串,请找出该字符串中出现次数最多的那个字符,并打印出该字符及其出现次数; ......
/*
时间限制 C/C++ 3s 其他 6s, 空间限制 C/C++ 32768k 其他 65535k
题目描述
给定一个长度不限的字符串,请找出该字符串中出现次数最多的那个字符,并打印出该字符及其出现次数;
如果多个字符的出 现次数相同,只打印首个字符;输出字符的大小写格式要与输 入保持一致,大小写不敏感模式下,
输出字符的大小写格式与该 字符首次出现时的大小写格式一致。实现时无需考虑非法输。
输入描述
输入为 字符串大小写敏感标记 其中"大小写敏感标记"为可选参数,取值范围为七yue|1fa1 se,txue表示大小写敏感;缺省取值txue
例子: abcdabcde fa1e
输出描述
输出:字符出现次数 如果出现次数最多的字符有多个,输出字典序最小的那个字 符。输出的字符都为小写字符
例子: a 2
*/
C++实现
#include<iostream> using namespace std; int main() { char c[60000] = { 0 }; char s[5] = { 0 }; unsigned int count[52] = { 0 }; char output[52] = { 0 }; memset(c, 0, 60000); bool sensitive = true; cin >> c; cin >> s; int i = 0; int index = 0; while ((i < 5) && (s[i] != 0)) { if (strcmp(&s[i + 1], "true")) { sensitive = true; } else { sensitive = false; } break; i++; } int j = 0; int max = 0, outputIndex = 0; while ((j < 6000)&&(c[j]!=0)) { if (sensitive) { if (90 < c[j]) { index = c[j] - 'A'; count[index]++; if (output[index] == 0) { output[index] = c[j]; } if (max < count[index]) { max = count[index]; outputIndex = index; } } else { index = c[j] - 'a'; count[index + 26]++; if (output[index + 26] == 0) { output[index + 26] = c[j]; } if (max < count[index + 26]) { max = count[index + 26]; outputIndex = index + 26; } } } else { if (90 < c[j]) { index = c[j] - 'A'; } else { index = c[j] - 'a'; } count[index]++; if (output[index] == 0) { output[index] = c[j]; } if (max < count[index]) { max = count[index]; outputIndex = index; } } j++; } cout << output[outputIndex] << " " << max << endl; system("pause"); return 0; }
注意编译器不兼容的问题
下一篇: 抖音怎么输入竖排文字效果的评论?
推荐阅读
-
如何取得中文字符串中出现次数最多的子串
-
PHP中substr_count()函数获取子字符串出现次数的方法
-
Python实现计算字符串中出现次数最多的字符示例
-
在字符串中找出第一个只出现一次的字符。经典C语言例题
-
python怎么判断字符串中出现次数最多的字母?
-
如何取得中文字符串中出现次数最多的子串
-
php中计算未知长度的字符串哪个字符出现的次数最多的代码
-
php获取字符串中各个字符出现次数的方法
-
现有两个字符串s1和s2,它们最多都只能包含255个字符。编写程序,将字符串s1中所有出现在字符串s2中的字符删去,然后输出s1。
-
转:Oracle中截取指定字符之间的字符串,获取特定字符串在字符串中出现的次数