名字的漂亮度
2016-03-11 16:58
253 查看
描述 | 给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。 每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。 给出多个名字,计算每个名字最大可能的“漂亮度”。 |
---|---|
知识点 | 字符串 |
运行时间限制 | 0M |
内存限制 | 0 |
输入 | 整数N,后续N个名字 N个字符串,每个表示一个名字 |
输出 | 每个名称可能的最大漂亮程度 |
样例输入 | 2 zhangsan lisi |
样例输出 | 192 101 |
package com.oj.test; import java.util.Scanner; public class Test { private static int count(char[] data){ int[] count = new int[26]; for(int i = 0;i < data.length; i++){ int pos = ((int)data[i])%26; count[pos] += 1; } for(int i = 0;i < 25; i++) for(int j = 25;j > i;j--) if(count[j]>count[j-1]){ int tmp = count[j]; count[j] = count[j-1]; count[j-1] = tmp; } int sum = 0; for(int i = 0;i < count.length; i++) sum += (count[i]*(26-i)); return sum; } public static void main(String[] args) { Scanner in = new Scanner(System.in); //String n = in.nextLine(); String str = in.nextLine(); String[] data = str.split(" "); int num = Integer.valueOf(data[0]); int[] result = new int[num+1]; for(int i = 1;i <= num; i++){ result[i] = count(data[i].toCharArray()); System.out.println(result[i]); } } }
相关文章推荐
- centos内网服务器搭建
- ubuntu14.04 忘记root密码
- java工具类小知识
- [Java代码] Java 面向对象
- Android安全教程(1)---Fiddler简易使用教程之配置环境
- win7主机用 vmware 安装 ubuntu 11.10后 打开3D加速
- android开发可以长去看看的网站
- CALayer与UIView
- web前端基础补充
- jquery获取select中被选中的文本内容
- 上传功能按钮设置
- 链表-Partition List
- 使用基于ThinkPHP3.2.3的ThinkAdmin创建手机电脑通用的表白墙(四)实现弹幕
- 计算机网络之运输层
- jquery插件封装:滚动条
- 多线程处理--搬家公司
- 各种排序算法复杂度分析
- 各种排序算法复杂度分析
- 各种排序算法复杂度分析
- 各种排序算法复杂度分析