码迷,mamicode.com
首页 > 其他好文 > 详细

华为机试(2)

时间:2014-07-02 23:45:21      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   for   io   

简单题  
题目描述 
输入一个字符串,统计其出现频率最高的字符,并输出。若存在两个字符出现频率相同,则输出字典序较小的那一个  
输入描述  :一个字符串,保证没有空格,以回车符结束,字符串长度<=20  
输出描述  :一个字符  
输入样例 :aabbaabb 
输出样例  :a 
解题思路:做一个频率数组来统计所有字符的出现频率,机试时候不会有汉字输入,因此只考虑输入是ASCII编码的情况。  

#include<string>
#include<iostream>
using namespace std;

void main()
{
   string s;
   cin>>s;
   int len;
   len = s.size();
   int maxNum=0;//出现次数最多的字符数
   char res;//结果字符
   int a[256]={0};//记录每个字符出现的次数
   int i;
   for(i=0;i<len;i++)
   {
     a[s[i]]++;
     if(maxNum<a[s[i]])
     {
       maxNum = a[s[i]];
       res = s[i];
     
     }
     else if(maxNum == a[s[i]])
     {
     
        if(res>s[i])
            res = s[i];
     
     }
   }
    cout<<res<<endl;
}

 

华为机试(2),布布扣,bubuko.com

华为机试(2)

标签:style   blog   color   os   for   io   

原文地址:http://www.cnblogs.com/Xylophone/p/3818731.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!