#include <iostream> #include <string> #include <algorithm> #include <cctype> #include <cstring> #include <ctime> using namespace std; const int maxint=26; int hash1[26]; int perfect(const string &s) { memset(hash1,0,sizeof(hash1)); for(int i=0;i!=s.size();i++){ if(!isalpha(s[i]))continue; char tmp=tolower(s[i]); hash1[tmp-'a']++; } int sum=0; sort(hash1,hash1+26); int tmp=maxint; for(int i=25;i>=0;i--) { if(!hash1[i])continue; sum+=hash1[i]*tmp; tmp--; } return sum; } int main() { string s="dd//BCD..aa"; //clock_t start,end; //start=clock(); cout<<perfect(s)<<endl; //end=clock(); //cout<<end-start<<endl; return 0; }
字符串完美度---庞果编程挑战
转载文章标签 #include ios i++ 前端 数据 数据库 编程语言 文章分类 代码人生
-
Java-长字符串加密
加密:为你的长字符串提供最高级别的保护!!!
加密算法 JAVA -
字符串的完美度
题目详情我们要给每个字母配一个1-26之间的整数,具体怎么分配由你决定,
i++ 字符串 数组