欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > Leetcode面试经典150题-36.有效数独

Leetcode面试经典150题-36.有效数独

2026/1/31 19:10:27 来源:https://blog.csdn.net/Chang_Yafei/article/details/141688952  浏览:    关键词:Leetcode面试经典150题-36.有效数独

 解法都在代码里,不懂就留言或者私信,比第一题稍微难点

class Solution {public static boolean isValidSudoku(char[][] board) {/**rowExists[i][j]代表第i行是否存在数据j+1*/boolean[][] rowExists = new boolean[9][9];/**rowExists[i][j]代表第i列是否存在数据j+1*/boolean[][] colExists = new boolean[9][9];/**rowExists[i][j]代表第i个格子是否存在数据j+1*/boolean[][] bucketExists = new boolean[9][9];for(int i = 0; i < board.length; i++) {for(int j = 0; j < board[i].length; j++) {if(board[i][j] == '.') {continue;}/**如果这个行已经存在这个数字了,返回false*/if(rowExists[i][board[i][j] - '1']) {return false;}/**如果原来没有,现在这个数就是,有了记录一下*/rowExists[i][board[i][j]-'1'] = true;/**如果这个列已经存在这个数字了,返回false*/if(colExists[j][board[i][j]-'1']) {return false;}/**如果原来没有,现在这个数就是,有了记录一下*/colExists[j][board[i][j]-'1'] = true;/**计算当前应该在哪个桶,这里注意bucketnum的计算*/int bucketNum = j / 3 + (i / 3)*3;if(bucketExists[bucketNum][board[i][j]-'1']) {return false;}bucketExists[bucketNum][board[i][j]-'1'] = true;}}return true;}
}

运行结果

20ad2bfec8634b8aa82e372158039842.jpg

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词