判断是否为数独数组

实现代码:

java 复制代码
  public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] freq = new int[10]; // 1~9
        
        for (int i = 0; i < n; i++) {
            int x = scanner.nextInt();
            freq[x]++;
        }
        
        int q = n / 9;
        int r = n % 9;
        
        int countPlusOne = 0;
        boolean possible = true;
        for (int i = 1; i <= 9; i++) {
            if (freq[i] != q && freq[i] != q + 1) {
                possible = false;
                break;
            }
            if (freq[i] == q + 1) {
                countPlusOne++;
            }
        }
        
        if (countPlusOne != r) {
            possible = false;
        }
        
        System.out.println(possible ? "YES" : "NO");
    }
相关推荐
okseekw2 小时前
File类:你与文件的"爱恨情仇"——Java文件操作的趣味指南
java·后端
梨落秋霜2 小时前
Python入门篇【if判断语句】
android·java·python
萝卜白菜。2 小时前
关于maxPartCount和maxPartHeaderSize参数的限制说明
java·tomcat
宝贝儿好2 小时前
【强化学习】第二章:老虎机问题、ε-greedy算法、指数移动平均
人工智能·python·算法
CoovallyAIHub2 小时前
超越深度学习:量子优化如何通过算法与硬件重塑AI
深度学习·算法·计算机视觉
Li_7695322 小时前
Spring Cloud —— SkyWalking(五)
java·后端·spring·spring cloud·skywalking
嘟嘟w2 小时前
Forward(转发)与Redirect(重定向)的区别
java
mit6.8243 小时前
模拟|str_dp
算法
程序员根根3 小时前
JavaSE 进阶:代理设计模式核心知识点(静态代理 + 动态代理 + 反射实现 + 实战案例)
java