LeetCode进阶之路( Sudoku Solver)
来源:互联网 发布:三权分立司法知乎 编辑:程序博客网 时间:2024/06/09 20:05
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.
A sudoku puzzle...
...and its solution numbers marked in red.
题目:把数独给解出来。。
思路:采用回溯法,一点点尝试着填数,不行的话就回溯,直到都填满就返回。
public void solveSudoku(char[][] board) { healper(board);}public boolean healper(char[][] board) {for (int i = 0; i < board.length; i++) {for (int j = 0; j < board[0].length; j++) {if (board[i][j] == '.') {for (char z = '1'; z <= '9'; z++) {if (isValid(board, i, j, z)) {board[i][j] = z;if (healper(board))return true;//有解elseboard[i][j] = '.';// 回退}}return false;}}}return true;}private boolean isValid(char[][] board, int i, int j, char c) {// 检查行for (int row = 0; row < 9; row++)if (board[row][j] == c)return false;// 检查列for (int col = 0; col < 9; col++)if (board[i][col] == c)return false;// 检查9宫格for (int row = i / 3 * 3; row < i / 3 * 3 + 3; row++)for (int col = j / 3 * 3; col < j / 3 * 3 + 3; col++)if (board[row][col] == c)return false;return true;}
0 0
- LeetCode进阶之路( Sudoku Solver)
- LeetCode OJ 之 Sudoku Solver(求数独)
- LeetCode进阶之路(Valid Sudoku)
- LeetCode--Sudoku Solver(DFS)
- LeetCode(37) Sudoku Solver
- LeetCode第37之Sudoku Solver
- 【LeetCode】Valid Sudoku && Sudoku Solver
- [Leetcode]Sudoku Solver&&Valid Sudoku
- leetcode Valid Sudoku & Sudoku Solver
- LeetCode 题解(109): Sudoku Solver
- leetcode系列(53)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
- 开发工具汇总
- Sending Twist Messages to a Real Robot
- 关于使用 Hibernate 调用存储过程方法
- cocos2dx那些坑(1):瓦片地图加载失败及黑线问题
- python解决https私密连接警告信息
- LeetCode进阶之路( Sudoku Solver)
- RTSP信令的交互
- linux C串口常规设置参考
- java复制文件的4种方式
- 学习笔记之——实现Android控件之带有分割线的GridView格
- Mysql主从配置,实现读写分离
- RTP协议的报文头格式结构
- 一段Golang代码引发的思考
- unity3d 22