挑战编程:字符串的完美度
来源:互联网 发布:java获取dmg版本号 编辑:程序博客网 时间:2024/04/30 08:18
题目详情我们要给每个字母配一个1-26之间的整数,具体怎么分配由你决定,但不同字母的完美度不同,
而一个字符串的完美度等于它里面所有字母的完美度之和,且不在乎字母大小写,也就是说字母F和f的完美度是一样的。
现在给定一个字符串,输出它的最大可能的完美度。
例如:dad,你可以将26分配给d,25分配给a,这样整个字符串最大可能的完美度为77。
函数头部
C
int perfect(const char *s);
C++
int perfect(const string &s);
java
public static int perfect(String s);
第一次挑战失败,发现是审题的问题,需要的是最大的完美度。而我没有考虑到这个,要命呀!代码已经修改好, 源码如下:#include <iostream>#include <string>using namespace std;int perfect(const string &s);int main(){while (true){string str;cout << "Please enter the characters : ";cin >> str;if (str == "0") break;int result = perfect(str);cout << "perfect result of " << result << endl;}return 0;}int perfect(const string &s){int ia = (int)'a';// 97int iA = (int)'A';// 65int perfectNum = 0;string content = s;int config[26] = {0};// 获取字符的记录个数while (content.size()){char ch = content[0];while (true){int index = content.find(content[0]);if (index < 0) break;if ((int)content[0] < ia){// 大写内容config[(int)content[0] - iA] ++;}else{config[(int)content[0] - ia] ++;}content.erase(index, 1);}}// 将个数进行排序int i,j,t;for(i=0;i<25;i++){for(j=0;j<25-i;j++){if(config[j+1]>config[j]){t=config[j+1];config[j+1]=config[j];config[j]=t;}}}// 开始进行最大幸福数计算for(int i = 0, momey = 26; i < 26; i ++, momey --){perfectNum += config[i]*momey;}return perfectNum;}
不知对错带指正,仅供交流!
以后要切记好好审题哦……
仅此一次,下次再不会在没有结束挑战之前放代码了。
题目详情
我们要给每个字母配一个1-26之间的整数,具体怎么分配由你决定,但不同字母的完美度不同,
而一个字符串的完美度等于它里面所有字母的完美度之和,且不在乎字母大小写,也就是说字母F和f的完美度是一样的。
现在给定一个字符串,输出它的最大可能的完美度。
例如:dad,你可以将26分配给d,25分配给a,这样整个字符串最大可能的完美度为77。
函数头部
C
int perfect(const char *s);
C++
int perfect(const string &s);
java
public static int perfect(String s);
#include <iostream>#include <string>using namespace std;int perfect(const string &s);int main(){while (true){string str;cout << "Please enter the characters : ";cin >> str;if (str == "0") break;int result = perfect(str);cout << "perfect result of " << result << endl;}return 0;}int perfect(const string &s){int ia = (int)'a';// 97int iA = (int)'A';// 65int perfectNum = 0;string content = s;int config[26] = {0};// 获取字符的记录个数while (content.size()){char ch = content[0];while (true){int index = content.find(content[0]);if (index < 0) break;if ((int)content[0] < ia){// 大写内容config[(int)content[0] - iA] ++;}else{config[(int)content[0] - ia] ++;}content.erase(index, 1);}}// 将个数进行排序int i,j,t;for(i=0;i<25;i++){for(j=0;j<25-i;j++){if(config[j+1]>config[j]){t=config[j+1];config[j+1]=config[j];config[j]=t;}}}// 开始进行最大幸福数计算for(int i = 0, momey = 26; i < 26; i ++, momey --){perfectNum += config[i]*momey;}return perfectNum;}
不知对错带指正,仅供交流!
以后要切记好好审题哦……
仅此一次,下次再不会在没有结束挑战之前放代码了。
- 挑战编程:字符串的完美度
- 编程挑战:字符串的完美度
- 字符串的完美度(pongo的编程挑战..)
- 字符串完美度---庞果编程挑战
- 庞果网挑战之字符串完美度
- 在线编程:字符串的完美度
- 挑战编程:回文字符串
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- uv纹理坐标设定与贴图规则
- [Away 3D] Away3D4.0入门教程--基础技巧
- [Away 3D] Away3D4.0入门教程(1)--这个世界的基础
- [Away 3D] Away3D4.0入门教程(2)--那些贴图的Method
- Away3d 基础 1 ---对一个简单类的解释
- 挑战编程:字符串的完美度
- Away3D 基础 2 - 视口与场景
- Away3d基础 3 -相机
- Away3d学习笔记1-三维世界的四个基本构件
- Away3d 基础4 -操控三维物体
- Away3D基础5-3D基本元素(1)
- 淘宝数据魔方技术架构解析
- C# 解压RAR压缩文件
- Away3D 基础5 - 3D基本元素(2)