zoukankan      html  css  js  c++  java
  • LeetCode 有效的数独

    题目:

    判断一个数独是否有效,根据:Sudoku Puzzles - The Rules

    数独部分填了数字,空的部分用 '.' 表示。

    一个部分填充是有效的数独。


    说明:
    一个有效的数独(填了一部分的)不一定是可解的,只要已经填的数字是有效的即可。

    解题:判断一个数独是否有效,只要判断每一个行、列、方格有没有重复的数字;通过Set集合来存储每一行的数字;

    代码:

    class Solution {
        public boolean isValidSudoku(char[][] board) {
            if(null == board || board.length < 9){
                return false;
            }
            
            Set<Character> rowSet = new HashSet<Character>();
            Set<Character> colSet = new HashSet<Character>();
            Set<Character> cardSet = new HashSet<Character>();
            
            for(int i=0;i<9;i++){
                rowSet.clear();
                colSet.clear();
                cardSet.clear();
                for(int j=0;j<9;j++){
                    
                    if(rowSet.contains(board[i][j])){
                        return false;
                    }else{
                        if(board[i][j] != '.'){
                            rowSet.add(board[i][j]);
                        }
                    }
                    
                    if(colSet.contains(board[j][i])){
                        return false;
                    }else{
                        if(board[j][i] != '.'){
                            colSet.add(board[j][i]);
                        }
                    }
              // 计算九宫格的行列下标
    int r = j/3+i/3*3; int c = (j%3+i*3) % 9; if(cardSet.contains(board[r][(c)])){ return false; }else{ if(board[r][c] != '.'){ cardSet.add(board[r][c]); } } } } return true; } }
  • 相关阅读:
    vue类似tab切换的效果,显示和隐藏的判断。
    vue 默认展开详情页
    vue echarts圆角阴影效果
    vue画图运用echarts
    随机函数rand()
    Qt解析CSV文件
    Qt生成CSV 文件
    QRegExp解析
    Qt中csv文件的导入与导出
    Qt 生成word、pdf文档
  • 原文地址:https://www.cnblogs.com/xiangaaa/p/8688707.html
Copyright © 2011-2022 走看看