leetcode37. 解数独
生活随笔
收集整理的這篇文章主要介紹了
leetcode37. 解数独
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一:論語(yǔ)
簡(jiǎn)而言之 就是要一視同仁 對(duì)待遇見(jiàn)所有的人要一個(gè)態(tài)度
二:題目
三:上碼
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;}/**同行只能出現(xiàn)一次同列只能出現(xiàn)一次在宮格中只能出現(xiàn)一次*/bool isValid(int row,int col,char val,vector<vector<char> >&board) {//判斷同行是否會(huì)有重復(fù)for(int i = 0; i < 9; i++) {if(board[row][i] == val) {return false;}}//判斷同列是否會(huì)出現(xiàn)重復(fù)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宮格中看是否會(huì)有重復(fù)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) {/**思路:這里我們?cè)谶f歸回溯的時(shí)候需要注意的是 沒(méi)有了終止條件(因?yàn)槲覀冃枰罱K得到一個(gè)最終的二維數(shù)組)還有的是在回溯函數(shù)中我么需要用的是二維數(shù)組*/backstacking(board);} };
就醬 晚安! 晚安的意思就是我想你了 嘻嘻 可不能隨便說(shuō)晚安了
總結(jié)
以上是生活随笔為你收集整理的leetcode37. 解数独的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 现在上技校有前途吗电脑技校前景如何
- 下一篇: AB盘去了哪里电脑的ab盘去哪了