leetcode37. 解数独
生活随笔
收集整理的這篇文章主要介紹了
leetcode37. 解数独
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:論語
簡而言之 就是要一視同仁 對待遇見所有的人要一個態度
二:題目
三:上碼
class Solution { public:bool backstacking(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(isValid(i,j,k,board)) {board[i][j]=k;if(backstacking(board)) return true;//找到一組合法的 立刻返回board[i][j]='.';}}return false;}}return true;}/**同行只能出現一次同列只能出現一次在宮格中只能出現一次*/bool isValid(int row,int col,char val,vector<vector<char> >&board) {//判斷同行是否會有重復for(int i = 0; i < 9; i++) {if(board[row][i] == val) {return false;}}//判斷同列是否會出現重復for(int j = 0; j < 9; j++) {if(board[j][col] == val) {return false;}}int x = (row/3)*3;int y = (col/3)*3;//在9宮格中看是否會有重復for(int i = x; i < x+3; i++) {for(int j = y; j < y+3; j++) {if(board[i][j] == val){return false;}}}return true;}void solveSudoku(vector<vector<char>>& board) {/**思路:這里我們在遞歸回溯的時候需要注意的是 沒有了終止條件(因為我們需要最終得到一個最終的二維數組)還有的是在回溯函數中我么需要用的是二維數組*/backstacking(board);} };
就醬 晚安! 晚安的意思就是我想你了 嘻嘻 可不能隨便說晚安了
總結
以上是生活随笔為你收集整理的leetcode37. 解数独的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 现在上技校有前途吗电脑技校前景如何
- 下一篇: 线程与线程池(一条龙详解)