博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
37. 解数独
阅读量:5086 次
发布时间:2019-06-13

本文共 1560 字,大约阅读时间需要 5 分钟。

题目链接:

因为我也还没有完全理解这道题,所以不能写出详细的解答过程以及理解的思路。就先贴代码吧!

代码:

public void solveSudoku(char[][] board) {        search(board);    }    private boolean search(char[][] board){        for (int i = 0; i < board.length; i++){            for (int j = 0; j < board[0].length; j++){                if (board[i][j] != '.')  // 只有是 .号,也就是空格,我们才能填充数据                    continue;                for (char ch = '1'; ch <= '9'; ch++){  // 在board[i][j]中填充 0~9 来测试填入数据后board是否还是一个数独                    if (!isValid(board, i, j, ch)){                        continue;                    }                    board[i][j] = ch;                    if (search(board)){                        return true;                    }else {                        board[i][j] = '.';                    }                }                return false;            }        }        return true;    }    private boolean isValid(char[][] board, int i, int j, char ch) {        // 行不重复        for (int col = 0; col < 9; col++){            if (board[i][col] == ch){                return false;            }        }        // 列不重复        for (int row = 0; row < 9; row++){            if (board[row][j] == ch){                return false;            }        }        // 3 X 3的小方格不重复        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] == ch){                    return false;                }            }        }        return true;    }

转载于:https://www.cnblogs.com/daleyzou/p/9516217.html

你可能感兴趣的文章
coalesce和nvl函数
查看>>
虚继承中的内存布局
查看>>
学习日记2:nginx配置文件
查看>>
iOS Cell异步图片加载优化,缓存机制详解
查看>>
第二章 基本数据结构
查看>>
(转)Unity3D移动平台动态读取外部文件全解析
查看>>
回顾与陈景润讨论歌德巴哈猜想的情景
查看>>
java编写的2048程序
查看>>
解决git clone时报错:The requested URL returned error: 401 Unauthorized while accessing
查看>>
xamarin forms中的Button文本默认大写
查看>>
通过构造函数检查生成对象个数
查看>>
51Nod - 1057 -- N的阶乘(大整数乘法)
查看>>
算法入门经典-第四章 例题4-4 信息解码
查看>>
StarWind的安装配置
查看>>
计划安装SQL Server2012需求详细
查看>>
第一天:学会如何在pycharm上编写第一条robotframework用例
查看>>
python selenium firefox 添加cookie add_cookie
查看>>
动画特效三:搜索动画
查看>>
通信协议中的转义符
查看>>
SQL 递归使用
查看>>