Java大佬们帮我看看问题在哪
查看原帖
Java大佬们帮我看看问题在哪
617969
luohaiming楼主2025/1/31 23:15

不知道为啥只有50%AC,我看了下题解跟第一篇题解思路差不多啊,除了我没打表以外。

public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        int maxn = 0, minn = 100;
        int[] alphabet = new int[26];   // 存放每个字母出现次数
        char[] word = str.toCharArray();

        for (char c : word) { 
            int x = c - 'a';
            alphabet[x]++;
        }

        for (int i = 0; i < 26; i++) {
            if (alphabet[i] > maxn) maxn = alphabet[i];
            if (alphabet[i] < minn && alphabet[i] != 0) minn = alphabet[i];
        }

        int y = maxn - minn;
        if (y == 2){
            System.out.println("Luck Word");
            System.out.println(y);
        }else if (y <= 1) {
            System.out.println("No Answer");
            System.out.println(0);
            return;
        }
        for (int i = 2; i <= Math.sqrt(y); i++) {
            if (y % i == 0){
                System.out.println("No Answer");
                System.out.println(0);
                return;
            }
        }

        System.out.println("Luck Word");
        System.out.println(y);

    }
}
2025/1/31 23:15
加载中...