博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode(38)-Valid Sudoku
阅读量:5340 次
发布时间:2019-06-15

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

题目:

Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.The Sudoku board could be partially filled, where empty cells are filled with the character '.'.![这里写图片描写叙述](http://img.blog.csdn.net/20160409183641502)A partially filled sudoku which is valid.A valid Sudoku board (partially filled) is not necessarily solvable. Only the filled cells need to be validated.

思路:

  • 首先这是一道数独题目,关于数独的性质。能够參考以下的链接

  • 考虑依据数独的各个条件来逐个解决。须要推断每行,每一列。以及每一个小方格是否是1~9,出现一次。思路是建立一个list加入。推断是否出现反复。出现返回false;相同假设board == null。或者行数和列数不等于9,也返回false

    -

代码:

public class Solution {    public boolean isValidSudoku(char[][] board) {        ArrayList
> rows = new ArrayList
>(); ArrayList
> cols = new ArrayList
>(); ArrayList
> boxs = new ArrayList
>(); if(board == null || board.length != 9|| board[0].length != 9){ return false; } for(int i = 0;i < 9;i++){ rows.add(new ArrayList
()); cols.add(new ArrayList
()); boxs.add(new ArrayList
()); } for(int a = 0;a < board.length;a++){ for(int b = 0;b < board[0].length;b++){ if(board[a][b] == '.'){ continue; } ArrayList
row = rows.get(a); if(row.contains(board[a][b])){ return false; }else{ row.add(board[a][b]); } ArrayList
col = cols.get(b); if(col.contains(board[a][b])){ return false; }else{ col.add(board[a][b]); } ArrayList
box = boxs.get(getNum(a,b)); if(box.contains(board[a][b])){ return false; }else{ box.add(board[a][b]); } } }return true; } public int getNum(int i,int j){ return (i/3)*3+j/3; }}

转载于:https://www.cnblogs.com/wzjhoutai/p/7337714.html

你可能感兴趣的文章
Redis常用命令
查看>>
XML学习笔记(二)-- DTD格式规范
查看>>
IOS开发学习笔记026-UITableView的使用
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>
c++中的string常用函数用法总结!
查看>>
界面交互之支付宝生活圈pk微信朋友圈
查看>>
[DLX精确覆盖+打表] hdu 2518 Dominoes
查看>>
SuperMap iServerJava 6R扩展领域开发及压力测试---判断点在那个面内(1)
查看>>
Week03-面向对象入门
查看>>
一个控制台程序,模拟机器人对话
查看>>
web.xml 中加载顺序
查看>>
pycharm激活地址
查看>>
hdu 1207 四柱汉诺塔
查看>>
Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(上篇——纯前端多页面)
查看>>
display:none与visible:hidden的区别
查看>>
我的PHP学习之路
查看>>