首页 > 其他 > 详细

ACM 字母统计

时间:2014-04-04 06:37:58      阅读:587      评论:0      收藏:0      [点我收藏+]

字母统计

时间限制:3000 ms  |  内存限制:65535 KB
难度:1
 
描述
现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。
 
输入
第一行输入一个正整数T(0<T<25)
随后T行输入一个字符串s,s长度小于1010。
输出
每组数据输出占一行,输出出现次数最多的字符;
样例输入
3
abcd
bbaa
jsdhfjkshdfjksahdfjkhsajkf
样例输出
a
a
j
时间限制:3000 ms  |  内存限制:65535 KB
难度:1
 
描述
现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。
 
输入
第一行输入一个正整数T(0<T<25)
随后T行输入一个字符串s,s长度小于1010。
输出
每组数据输出占一行,输出出现次数最多的字符;
样例输入
3
abcd
bbaa
jsdhfjkshdfjksahdfjkhsajkf
样例输出
a
a
j
bubuko.com,布布扣
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;

struct WordCnt{
    char ch;
    int cnt;
    WordCnt(int aCh, int aCnt):ch(aCh),cnt(aCnt){}
    bool operator <(const WordCnt &a) const{
        if(cnt!=a.cnt) return cnt > a.cnt;
        else return ch < a.ch;
    }
};

int main(){
    int T;
    cin >> T;
    for (int icase =  0; icase < T; ++icase) {
        string str;
        cin >>str;
        vector<WordCnt> word;
        for (int i = 0;  i < str.length(); ++ i) {
            int  j = 0;
            for (j = 0; j < word.size(); ++ j) {
                if(word[j].ch == str[i]) word[j].cnt++;
            }
            if(j == word.size()) word.push_back(WordCnt(str[i],1));
        }
        sort(word.begin(),word.end());
        cout<<word[0].ch<<endl;
        
    }
}
bubuko.com,布布扣

 

ACM 字母统计,布布扣,bubuko.com

ACM 字母统计

原文:http://www.cnblogs.com/xiongqiangcs/p/3642783.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!