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

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

Problem

Determine whether a Sudoku is valid.

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

Example

The following partially filed sudoku is valid.

valid-sudoku.png

Note

写两个for循环遍历矩阵中所有的字符,若不是'.'且不满足数独规则isvalid(),则返回false

对于给定坐标的字符,写一个数独规则的函数isvalid()判读在某些范围内是否有重复值出现,先比较行,再比较列,最后比较每个小九方格。

Solution

class Solution {    public boolean isValidSudoku(char[][] board) {        for (int i = 0; i < board.length; i++) {            for (int j = 0; j < board[0].length; j++) {                if (board[i][j] != '.' && !isvalid(board, i, j)) return false;            }        }        return true;    }    public boolean isvalid(char[][] board, int row, int col) {        for (int i = 0; i < board.length; i++) {            if (board[row][col] == board[i][col] && row != i) return false;        }        for (int i = 0; i < board[0].length; i++) {            if (board[row][col] == board[row][i] && col != i) 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] == board[row][col] && !(i == row && j == col)) return false;            }        }        return true;    }}

转载地址:http://xqhnx.baihongyu.com/

你可能感兴趣的文章
PS打造油画般的风景人像
查看>>
JS_高程3.基本概念(2)
查看>>
Leetcode 俄罗斯套娃信封问题
查看>>
二维正则表达式v0.1
查看>>
面向空实现类继承
查看>>
Java中MVC详解以及优缺点总结
查看>>
5——PHP逻辑运算符&&唯一的三元运算符
查看>>
学习HTML5+CSS3的第一天
查看>>
只打开一个子窗体
查看>>
Linux下Makefile的automake生成全攻略
查看>>
顶级域名和二级域名共享cookie及相互删除cookie
查看>>
深入理解PHP Opcode缓存原理
查看>>
微服务部署:蓝绿部署、滚动部署、灰度发布
查看>>
探究操作系统的内存分配(malloc)对齐策略
查看>>
水仙花算法
查看>>
Java基础-IO流(13)
查看>>
递归法----整数划分问题
查看>>
CentOS 7 安装VirtualBox
查看>>
【转载】使用缓存的9个误区(上)
查看>>
6、宏定义与预处理、函数与函数库
查看>>