题解 | #名字的漂亮度#

名字的漂亮度

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

思路:
1.开一个整型数组,统计字母出现的次数,下标对应字母ASCII码
2.对字母出现次数排序
3.计算漂亮度
代码实现:

import java.util.Arrays;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in=new Scanner(System.in);
        while(in.hasNext()){
            int n=in.nextInt();
            for(int i=0;i<n;i++){
                String str=in.next();
                int s[]=new int[128];
                for(int j=0;j<str.length();j++){
                    s[str.charAt(j)]++;
                }
                Arrays.sort(s);
                int mul=26,sum=0;
                for(int j=s.length-1;j>=0&&s[j]>0;j--){
                    sum+=s[j]*mul;
                    mul--;
                }
                System.out.println(sum);
            }
        }
    }
}
全部评论
大佬,你知道 s[str.charAt(j)]++; 这句话是什么意思吗?
点赞 回复 分享
发布于 2022-08-18 13:43 陕西
题目说某个字符串就是说有这么一个例子,他都是小写。并不是说实际输出也都是大小写,要不然还说那句忽略大小写,少写一句toLowseCase(); 总之出题人吃屎去吧。
1 回复 分享
发布于 2022-07-17 15:18
我一开始用的Map去统计个数,后面发现有重复的漂亮度。像这类字母统计的题,还是用数组方便
1 回复 分享
发布于 2022-10-03 09:23 四川
还是你的方法简单
点赞 回复 分享
发布于 2022-06-18 09:42
不是不区分大小写吗?
点赞 回复 分享
发布于 2022-07-07 13:55
不好想到 转ASCII码计数
点赞 回复 分享
发布于 2022-07-25 19:35
大佬,你知道 s[str.charAt(j)]++; 这句话是什么意思吗?
点赞 回复 分享
发布于 2022-08-18 13:44 陕西
这个能跑通吗····我试了没跑通啊,换了其他的答案参考改了才跑通
点赞 回复 分享
发布于 2023-02-23 20:50 广东
请问这个sum输出之后不需要清空吗,我debug才发现错了
点赞 回复 分享
发布于 2023-08-03 09:50 广东
哼,算你厉害
点赞 回复 分享
发布于 2023-08-22 21:57 陕西

相关推荐

牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
61 10 评论
分享
牛客网
牛客企业服务