[leetcode]Sudoku Solver
来源:互联网 发布:全国二级c语言真题 编辑:程序博客网 时间:2024/05/28 05:14
Sudoku Solver
Total Accepted: 4129 Total Submissions: 20589My SubmissionsWrite a program to solve a Sudoku puzzle by filling the empty cells.
Empty cells are indicated by the character '.'
.
You may assume that there will be only one unique solution.
A sudoku puzzle...
本题用回溯法(递归),检查每个格子,如果是‘.’ 用1到9 依次带入试验,
比如带入‘1’时,如果(isValid)&&(solve)为true 说明可行,不可行的话复位‘.’
class Solution {public: void solveSudoku(vector<vector<char> > &board) { solve(board); } bool solve(vector<vector<char> > &board){ for(int i=0; i<9; i++){ for(int j=0; j<9; j++){ if(board[i][j]=='.'){ for(char now='1'; now<='9';now++){ board[i][j]=now; if(isValid(board,i,j) && solve(board)) return true; else board[i][j]='.'; } return false; } } } return true; } bool isValid(vector<vector<char>> &board, int row, int col){ for(int j=0; j<9; j++){//检查所在行 char checkch=board[row][j]; if(j!=col && checkch==board[row][col] ) return false; } for(int i=0; i<9; i++){//检查所在列 char checkch=board[i][col]; if(i!=row && checkch==board[row][col]) return false; } for(int i=(row/3)*3; i<(row/3)*3+3; i++){ for(int j=(col/3)*3; j<(col/3)*3+3; j++){ char checkch=board[i][j]; if(i!=row && j!=col && checkch==board[row][col]) return false; } } return true; }};
0 0
- 【LeetCode】Valid Sudoku && Sudoku Solver
- [Leetcode]Sudoku Solver&&Valid Sudoku
- leetcode Valid Sudoku & Sudoku Solver
- Leetcode 37 Sudoku Solver
- [Leetcode] Sudoku Solver
- Leetcode 37: Sudoku solver
- LeetCode Sudoku Solver
- [LeetCode]Sudoku Solver
- Leetcode Sudoku Solver
- LeetCode-Sudoku Solver
- LeetCode - Sudoku Solver
- LeetCode:Sudoku Solver
- 【leetcode】Sudoku Solver
- Leetcode: Sudoku Solver
- leetcode Sudoku Solver
- LeetCode | Sudoku Solver
- LeetCode Sudoku Solver
- [Leetcode] Sudoku Solver (Java)
- ios 视频播放
- PrintWriter,FileOutputStream,FileInputStream
- The APR based Apache Tomcat Native library which allows optimal performance in produc,Tomcat启动报错解决方法
- MySql中 DATEDIFF 函数 和 TIMESTAMPDIFF 时间 函数
- php 通过代码定时执行功能
- [leetcode]Sudoku Solver
- android SDK无法更新下载
- java个人学习笔记02(注释+数据类型+算术逻辑运算)
- FFMPEG解码多线程
- 把具有相同字段的纪录删除,只留下一条
- vs2008中,静态库调用时报错:“无法解析的外部符号 _,该符号在函数 _wmain 中被引用”的解决方法
- 比特币是一场狂热的传销游戏
- error C2065: “CString”: 未声明的标识符
- jQuery Mobile 表单-滑块