java运行时间 100% √,代码加了注释
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        // 数组模拟哈希表,下标0~25 对应26个英文字母
        int[] hashTable = new int[26];
        
        // 统计字母出现频率
        for (int i = 0; i < str.length(); i++) {
            hashTable[str.charAt(i) - 'a']++;
        }

        // 遍历数组,寻找单词中频率最高和最低的字母出现的次数
        int maxn = -1, minn = 101;
        for (int i = 0; i < hashTable.length; i++) {
            if (hashTable[i] > maxn) {
                maxn = hashTable[i];
            }

            if (hashTable[i] != 0 && hashTable[i] < minn) {
                minn = hashTable[i];
            }
        }

        // 根据题目的逻辑进行判断
        if (isNum(maxn - minn)) {
            System.out.println("Lucky Word");
            System.out.println(maxn - minn);
        } else {
            System.out.println("No Answer");
            System.out.println(0);
        }
    }
    
    // 判断一个数是否为质数
    public static boolean isNum(int n) {
        if (n == 1 || n == 0) {
            return false;
        }
        for (int i = 2; i * i <= n; i++) {
            if (n % 2 == 0) {
                return false;
            }
        }
        return true;
    }
}