leetcode 37解数独

简介: leetcode 37解数独

解数独


02a1862cf0984406b47325233e9faf52.png

859c51f08de84f90b4040f0f6d5b8c13.png

class Solution {
public:
    bool cheack( vector<vector<char>>& board , int row ,int col ,int val)
    {
        for(int i=0 ; i< board[0].size() ;i++) //检查行
        {
            if(board[row][i] == val  )
            {
                return false;
            }
        }
        for(int i=0 ; i< board.size() ;i++) //检查列
        {
            if(board[i][col] == val)
            {
                return false;
            }
        }
        int startRow = (row / 3)*3;
        int startCol = (col / 3)*3;
        for(int i=startRow ; i < startRow + 3 ;i++) //检查小方块
        {
            for(int j=startCol ; j< startCol + 3 ;j++)
            {
                if(board[i][j] == val)
                {
                    return false;
                }
            }
        }
        return true;
    }
    bool backtarking(vector<vector<char>>& board)
    {
        for(int i=0 ; i< board.size() ; i++) //递归行
        {
            for(int j=0 ; j<board[0].size() ;j++)//递归列
            {
                if(board[i][j] != '.') continue;//已有的跳过
                for( char k = '1' ; k<='9';k++)
                {
                    if(cheack(board,i,j,k)) //检查当前k是否符合
                    {
                        board[i][j] = k;
                        if(backtarking(board)) return true; //当找到一组成功的,就不接着找了直接返回true
                        board[i][j] = '.';
                    }
                }
                return false ;
            }
        }
        return true;//行和列都满足了,返回找到
    }
    void solveSudoku(vector<vector<char>>& board) {
        bool tmp = backtarking(board);
    }
};
相关文章
|
8月前
|
Java
leetcode-37:解数独
leetcode-37:解数独
53 0
|
3月前
|
存储 算法 C++
Leetcode第三十六题(有效的数独)
这篇文章介绍了如何使用C++编写一个算法来验证一个9x9数独是否有效,遵循数独的规则,即数字1-9在每一行、每一列和每个3x3宫内只能出现一次。
56 0
|
5月前
|
存储 算法 索引
LeetCode第36题有效的数独
这篇文章介绍了LeetCode第36题"有效的数独"的解题方法,通过使用三个二维数组分别记录每一行、每一列以及每个3x3宫格内1-9数字出现的次数,来验证给定数独是否有效。
|
7月前
|
算法
力扣经典150题解析之三十四:有效的数独
力扣经典150题解析之三十四:有效的数独
58 0
|
7月前
|
算法
【经典LeetCode算法题目专栏分类】【第3期】回溯问题系列:单词搜索、N皇后问题、判断有效数独、解数独
【经典LeetCode算法题目专栏分类】【第3期】回溯问题系列:单词搜索、N皇后问题、判断有效数独、解数独
|
8月前
leetcode-36:有效的数独
leetcode-36:有效的数独
64 0
|
JavaScript 前端开发 算法
LeetCode 37.解数独(注释完整+JavaScript解题)
LeetCode 37.解数独(注释完整+JavaScript解题)
96 0
|
算法
LeetCode 37 解数独 循环+回溯算法
LeetCode 37 解数独 循环+回溯算法
65 0
|
算法 安全 Swift
LeetCode - #37 解数独
不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。
LeetCode - #37 解数独