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

     

    建立一个哈希表,每次查找,如果对应的列col,行row,小方格box中的数出现第二次,那么数独不合法;

    据说还有深度优先搜索的方法,表示没有听懂:)

    class Solution {
    public:
        bool isValidSudoku(vector<vector<char>>& board) {
            if(board.size()!=9 || board[0].size()!=9) return false;
            
            bool row[9][10];
            bool col[9][10];
            bool box[9][10];
            
            for(int i=0;i<9;i++){
                fill(row[i],row[i]+10,false);
                fill(col[i],col[i]+10,false);
                fill(box[i],box[i]+10,false);
            }
            for(int i=0;i<9;i++){
                for(int j=0;j<9;j++){
                    int k=i/3*3+j/3;
                    if(board[i][j]=='.') continue;
                    int n=board[i][j]-'0';
                    if(n<0 || n>9) return false;
                    if(row[i][n]==true || col[j][n]==true || box[k][n]==true) return false;
                    row[i][n]=true;
                    col[j][n]=true;
                    box[k][n]=true;
                }
            }
            return true;
        }
    };
  • 相关阅读:
    wf(三)
    WF(二)
    WF4.0入门(一)
    枚举
    函数和立即函数
    对象字面量
    Break和continue语句
    对象
    循环语句
    条件分支语句(SWICH语句)
  • 原文地址:https://www.cnblogs.com/joelwang/p/10702978.html
Copyright © 2011-2022 走看看