2025年--Lc169--H36.有效的数独(矩阵)--Java版

1.题目

2.思路

(1)用二维数组rows存储行数组

(2)用二维数组column存储列数组

(3)用三维数组存储9个小矩阵(三行三列总共9个小矩阵)

遇到一个元素,则对该元素的行数组和列数组都进行计数,如果行数组和列数组的计数分别大于1,返回false;以及如果9个小矩阵的计数也大于1,则返回false;

例子:

假设在 (i=0, j=1) 位置看到字符 '5':

如果在同一行/列/子宫格里再次遇到 '5',对应位置的计数会变为 2,你就可以判定数独无效

java 复制代码
int index = '5' - '1'; // 4
rows[0][4]++        // 第0行的"数字5"计数+1
columns[1][4]++     // 第1列的"数字5"计数+1
subboxes[0/3][1/3][4]++  // subboxes[0][0][4]++:左上角子宫格里的"数字5"计数+1

3.代码实现

java 复制代码
class Solution {
    public boolean isValidSudoku(char[][] board) {
        int[][] rows=new int[9][9];
        int[][] column=new int[9][9];
        int[][][] sub=new int[3][3][9];
        for(int i=0;i<9;i++)
        {
            for(int j=0;j<9;j++)
            {
                char c=board[i][j];
                if(c!='.')
                {
                    int index=c-'0'-1;
                    rows[i][index]++;
                    column[j][index]++;
                    sub[i/3][j/3][index]++;
                    //这边的[index]代表当前的字符
                    if(rows[i][index]>1||column[j][index]>1||sub[i/3][j/3][index]>1)
                    {
                        return false;
                    }

                }
            }
        }
        return true;
        
    }
}
相关推荐
Jmyd012312 小时前
手持激光三维扫描仪技术解析:三角测量数据链路、材质适配矩阵与点云处理流程
数码相机·矩阵·材质·三维数字化
HIT_Weston20 小时前
14、【数学】【线性代数】one-hot 与基向量:分类目标为什么能当概率分布
线性代数·数学
微三云 - 廖会灵 (私域系统开发)7 天前
企业大模型应用工程化思考:跳出 Demo 陷阱,构建「业务‑资产‑Agent」三层落地架构
人工智能·矩阵·重构
tryxr7 天前
矩阵的几种基础变换
java·数据结构·算法·矩阵
老鱼说AI8 天前
从点积到希尔伯特空间:向量内积的几何本质与大模型相似度度量
人工智能·深度学习·线性代数·算法·机器学习·数学建模
俗人六哥AI企业获客盈利系统9 天前
知识库才是AI落地的分水岭
人工智能·线性代数·矩阵·自动化
船厂电气自动化ai大模型9 天前
AI大模型与数学|第81天 课程:正交向量、正交基、格拉姆‑施密特(Gram‑Schmidt)正交化
开发语言·数据结构·人工智能·线性代数·机器学习
微三云 - 廖会灵 (私域系统开发)10 天前
私域电商多端商城系统架构实践:小程序 / APP / H5 一套后端如何落地
矩阵·重构·零售
微三云 - 廖会灵 (私域系统开发)10 天前
多端商城统一账号体系设计实践:小程序 / APP / H5 登录打通与账号合并
矩阵·重构·自动化·零售
智购无人售货机厂家13 天前
2026自动售货机品类拓展逻辑:从饮料零食到鲜食药品文创的工程实践~YH
服务器·人工智能·单片机·线性代数·矩阵