网站教程设计,12380举报网站制度建设,上海网站建设shzanen,Wordpress可以做门户题目描述
x星球有26只球队#xff0c;分别用a~z的26个字母代表。他们总是不停地比赛。 在某一赛段#xff0c;哪个球队获胜了#xff0c;就记录下代表它的字母#xff0c;这样就形成一个长长的串。 国王总是询问#xff1a;获胜次数最多的和获胜次数最少的有多大差距分别用a~z的26个字母代表。他们总是不停地比赛。 在某一赛段哪个球队获胜了就记录下代表它的字母这样就形成一个长长的串。 国王总是询问获胜次数最多的和获胜次数最少的有多大差距
输入 输入存在多组数据对于每组数据 输入一行包含一个串表示球队获胜情况保证串的长度1000
输出 对于每组数据输出一个数字表示出现次数最多的字母比出现次数最少的字母多了多少次。
样例输入 abaabcaa bbccccddaaaacccc
样例输出 4 6
代码如下
#include iostream
#include cstring
using namespace std;
string a;
const int N 30;
int cnt[N];
bool st[N];int main() {while (cin a) {memset(cnt, 0, sizeof(cnt));for (int i 0; i a.size(); i) {cnt[a[i] - a];st[a[i] - a] true;}int minv 200;int maxv -1;for (int i 0; i 26; i) {if (st[i]) {maxv max(cnt[i], maxv);minv min(minv, cnt[i]);}}cout maxv - minv endl;}return 0;
}map容器写法代码如下:
#include iostream
#include map
#include cstring
#include algorithm
using namespace std;
const int N 1010;int main() {string a;while (cin a) {mapchar, intmp;int len a.length();for (int i 0; i len; i) {mp[a[i]];}int maxv -1, minv 999999;for (int i 0; i len; i) {maxv max(maxv, mp[a[i]]);minv min(minv, mp[a[i]]);}cout maxv - minv endl;}return 0;
}