从一个字符串,例如:abc12345asdfcadbc中找出出现频率最高的字母,最优算法是什么?谢谢!例如:abcca
返回:a,2 c,2谢谢大家!

解决方案 »

  1.   

    没有最优,只有更优
    #include <stdio.h> 
    #include <string.h> char str[255]; 
    int cnt[26]; int main(){ 
        memset(cnt,0,sizeof(cnt)); 
        gets(str); 
        while(strlen(str)!=0){ 
            for(int i = 0;i<strlen(str);i++){ 
                if(str[i]>='a') str[i] -= 32; 
                cnt[str[i]-'A']++; 
            } 
            gets(str); 
        } 
        for(int i = 0;i<26;i++) printf("%c %d\n",i+'A',cnt[i]); 
        return 0; 
    }