题解 | #名字的漂亮度#

名字的漂亮度

http://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3

就很简单,只需要把出现次数最多的字母,尽可能分配较大的漂亮值就好了。
所以我们

  1. 输入后统计每个字母的个数;

  2. 对这个字母个数数组排序;

  3. 排序之后从后向前遍历,乘以它的index+1加总即可。

    import java.util.*;
    public class Main {
     public static void main(String[] args) {
         Scanner input = new Scanner(System.in);
    
         int n = Integer.valueOf(input.nextLine());
    
         while (n-- > 0) {
             String name = input.nextLine().toLowerCase();
             int[] arr = new int[26];
    
             for (char ch : name.toCharArray()) {
                 arr[ch-'a'] ++;
             }
    
             Arrays.sort(arr);
             int max = 0;
             for (int i=25; i>=0 && arr[i]>0; --i) {
                 max += (i+1) * arr[i];
             }
    
             System.out.println(max);
         }
     }
    }
全部评论

相关推荐

11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务