Hard-题目24:37. Sudoku Solver
来源:互联网 发布:试卷编辑软件 编辑:程序博客网 时间:2024/05/16 14:46
题目原文:
Write 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.
题目大意:
写一个程序求标准数独。
题目分析:
注意是有返回值的dfs(如果有解或者解完了,则向下搜),没什么多说的。注意语言特性,要写C++而不是Java,因为Java是传值调用,那个棋盘传进下一层就不能带出来了。
源码:(language:cpp)
class Solution {public: void solveSudoku(vector<vector<char>>& board) { backtrack(board, 0, 0); } bool backtrack(vector<vector<char>>& board, int row, int col){ if(row == 9) return true; if(col == 9) return backtrack(board, row+1, 0); if(board[row][col] != '.') return backtrack(board, row, col+1); for(char i='1'; i<='9'; i++){ if(isValid(board, row, col, i)){ board[row][col] = i; if(backtrack(board, row, col+1)) return true; board[row][col] = '.'; } } return false; } bool isValid(vector<vector<char>>& board, int row, int col, char k){ for(int i=0; i<9; i++){ if(board[i][col] == k) return false; if(board[row][i] == k) 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++){ if(board[i][j] == k) return false; } } return true; }};
成绩:
40ms,beats 66.04%,4ms,9.81%
0 0
- Hard-题目24:37. Sudoku Solver
- 37. Sudoku Solver(Hard)
- LeetCode题目:37. Sudoku Solver
- LeetCode [37. Sudoku Solver] 难度[hard]
- leetcode hard模式专杀之37. Sudoku Solver
- [LeetCode] 037. Sudoku Solver (Hard) (C++)
- LeetCode --- 37. Sudoku Solver
- LeetCode 37.Sudoku Solver
- [Leetcode] 37. Sudoku Solver
- 37. Sudoku Solver
- [leetcode] 37. Sudoku Solver
- Leetcode 37. Sudoku Solver
- 37. Sudoku Solver
- leetcode 37. Sudoku Solver
- 37. Sudoku Solver
- 37. Sudoku Solver
- LeetCode 37. Sudoku Solver
- 37. Sudoku Solver
- tju3772. Rupxup's Math Problem
- Android学习笔记-service进程间通信(二)
- Jstorm 集群搭建过程/Jstorm集群一键安装部署
- 【cxsjsx】魔兽世界(终极版)
- maven 常用插件配置详解
- Hard-题目24:37. Sudoku Solver
- Java操作数据库
- STM32库函数EXTI_GetFlagStatus和EXTI_GetITStatus的区别
- easyui中combobox添加滚动条的方法
- Hard-题目25:282. Expression Add Operators
- PHP中利用PHPMailer配合QQ邮箱实现发邮件
- Hard-题目26:233. Number of Digit One
- 关于C# wpf DataGrid单元格双击设置单元格内容
- 全民线下观影约约约!乐视这次又在打什么算盘?