完美字符串
2016-05-21 18:20
225 查看
完美字符串
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。
约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。
输入
输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。
输出
由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。
输入示例
dad
输出示例
77
请选取你熟悉的语言,并在下面的代码框中完成你的程序,注意数据范围,最终结果会造成Int32溢出,这样会输出错误的答案。
不同语言如何处理输入输出,请查看下面的语言说明。
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。
约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。
输入
输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。
输出
由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。
输入示例
dad
输出示例
77
请选取你熟悉的语言,并在下面的代码框中完成你的程序,注意数据范围,最终结果会造成Int32溢出,这样会输出错误的答案。
不同语言如何处理输入输出,请查看下面的语言说明。
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //将字符串S转换成全是小写 String s = sc.nextLine(); s = s.toLowerCase(); //数组a存储输入的字符串 //数组b是将排序好的每个字母的出现次数存储起来。 int[] a = new int[s.length()]; int[] b = new int[26]; for (int i = 0; i < s.length(); i++) { a[i] = ((int)s.charAt(i))-97; b[a[i]] += 1; } Arrays.sort(b); int sum=0; for (int i = b.length-1; i >= 0; i--) { if(b[i]!=0){ sum = sum +b[i]*(i+1); } } System.out.println(sum); } }
相关文章推荐
- 优客源创会 西安站 西邮Linux兴趣小组
- jquery checkbox相关 prop方法
- break,continue,与标号
- python核心编程
- gitk图形界面中文乱码情况
- 基于GRPC通信的服务化框架
- sed 正则表达式sed不明了的地方
- [leetcode]349.Intersection of Two Arrays
- Android中Preference的使用以及监听事件分析(自己学习)
- windows下安装NetBeans IDE & 配置C++编译环境
- 回调函数
- POJ-5690-All X(快速幂/循环节)
- 链表的插入排序
- chromium启动流程和消息处理是怎么关联起来
- Linux下的gpio调试方法
- All X 百度之星初赛
- Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER 解决方案-Android
- android 4.2上面实现录制系统内置声音remote submix
- HTML5新增元素(上)
- ubuntu安装vmware tool