您的位置:首页 > 编程语言

字符串的完美度(pongo的编程挑战..)

2013-12-24 19:36 260 查看
连续几道简单的题都没一次通过..哭瞎~发代码到这里吧'


字符串的完美度


题目详情:

我们要给每个字母配一个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);

package csdn;

import java.util.*;

public class wanmei {
public static int perfect(String s) {
if(s=="") return 0;
int length=s.length();
int[] arr=new int[26];
int count=0;
int j=26;
for(int i=0;i<length;i++){
char value=s.charAt(i);
int num=(value-'a'<0)?(value-'A'):(value-'a');
arr[num]++;
}
Arrays.sort(arr);
int c=arr[25];
for(int i=25;i>=0 && arr[i]!=0;i--,j--){
count+=arr[i]*j;
}
return count;
}

public static void main(String args[])
{
System.out.println(perfect("dad"));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: