华为OJ(名字漂亮度)

来源:互联网 发布:hbuilder for mac下载 编辑:程序博客网 时间:2024/04/20 01:06

主要是按照字母出现次数由大到小排序

#include<iostream>#include<string>#include<algorithm>using namespace std;bool compare(const int a,const int b){return a>b;}int getBeaScore(char* str){const int TableSize=256;unsigned int hashTable[TableSize];for(int i=0;i<TableSize;++i)hashTable[i]=0;int len=strlen(str);for(int i=0;i<len;i++)if(isalpha(*(str+i)))hashTable[*(str+i)]++;sort(hashTable,hashTable+256,compare);int num=26;int sum_num=0;for(int i=0;i<TableSize;++i){sum_num+=hashTable[i]*num;num--;}return sum_num;}int main(){char str[1000];int n;//cout<<"please input number of names;"<<endl;cin>>n;int* score=new int[n];for (int i=0;i<n;++i){cin>>str;*(score+i)=getBeaScore(str);}for(int i=0;i<n;++i)cout<<*(score+i)<<endl;//system("pause");return 0;}


0 0
原创粉丝点击