博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode] Valid Sudoku
阅读量:6256 次
发布时间:2019-06-22

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

hot3.png

Determine if a Sudoku is valid, according to: .

The Sudoku board could be partially filled, where empty cells are filled with the character'.'.

25223712_DZiu.png

A partially filled sudoku which is valid.

Note:

A valid Sudoku board (partially filled) is not necessarily solvable. Only the filled cells need to be validated.

思路:按照规则,先检查行,然后检查列,然后检查9格。

public class Solution {	public boolean isValidSudoku(char[][] board) {		int i;		for (i = 0; i < 9; i++) {			if (!isValid(board, i, i + 1, 0, 9))				return false;		}		int j;		for (j = 0; j < 9; j++) {			if (!isValid(board, 0, 9, j, j + 1))				return false;		}		for (i = 0; i < 9; i = i + 3)			for (j = 0; j < 9; j = j + 3) {				if (!isValid(board, i, i + 3, j, j + 3))					return false;			}		return true;	}	private boolean isValid(char[][] board, int iBegin, int iEnd, int jBegin,			int jEnd) {		HashSet
set = new HashSet
(); for (int i = iBegin; i < iEnd; i++) for (int j = jBegin; j < jEnd; j++) { if (set.contains(board[i][j])) return false; else if (board[i][j] != '.') set.add(board[i][j]); } return true; } public static void main(String[] args) { char[][] board = { { '5', '3', '.', '.', '7', '.', '.', '.', '.' }, { '6', '.', '.', '1', '9', '5', '.', '.', '.' }, { '.', '9', '8', '.', '.', '.', '.', '6', '.' }, { '8', '.', '.', '.', '6', '.', '.', '.', '3' }, { '4', '.', '.', '8', '.', '3', '.', '.', '1' }, { '7', '.', '.', '.', '2', '.', '.', '.', '6' }, { '.', '6', '.', '.', '.', '.', '2', '8', '.' }, { '.', '.', '.', '4', '1', '9', '.', '.', '5' }, { '.', '.', '.', '.', '8', '.', '.', '7', '9' } }; System.out.println(new Solution().isValidSudoku(board)); }}

转载于:https://my.oschina.net/jdflyfly/blog/284224

你可能感兴趣的文章
编译Spring源码
查看>>
javascript运算符优先级
查看>>
Spring Cloud 学习 (七) Spring Cloud Sleuth
查看>>
使用docker api
查看>>
Log4j简单配置解析
查看>>
游戏上线... 记录下...
查看>>
js运动 淡入淡出
查看>>
leetcode 75颜色分类
查看>>
程序员求职成功路(3)
查看>>
Winform 打印PDF顺序混乱,获取打印队列
查看>>
django 快速搭建blog
查看>>
datetime.timedelta类
查看>>
SQL Server,MySQL,Oracle三者的区别
查看>>
[K/3Cloud] 在设计时复制已有表单菜单或菜单项快速建立菜单
查看>>
矩阵快速幂总结
查看>>
[spring] Ioc 基础
查看>>
关于DataTables一些小结
查看>>
win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程
查看>>
Hibernate的基本配置
查看>>
Python 3.5 安装geohash库后import geohash失败
查看>>