`

Valid Sudoku 数独

阅读更多
Determine if a Sudoku is valid. The Sudoku board could be partially filled, where empty cells are filled with the character '.'.

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.

检测一个数独是否有效,数独的规则大家不明白的可以去百度一下。这里我们只需要检查当前的状态是否有效,而不用找到一个解。所以我们只要检查每行,每列以及没九个小方格内是否都没有重复数字出现就可以了。代码如下:
public class Solution {
    public boolean isValidSudoku(char[][] board) {
        HashSet<Character> set = new HashSet<Character>();
        for(int i = 0; i < board.length; i++) {
            for(int j = 0; j < board[0].length; j++) {
                if(set.contains(board[i][j])) 
                    return false;
                else if(board[i][j] != '.')
                    set.add(board[i][j]);
            }
            set.clear();
        }
        
        for(int i = 0; i < board[0].length; i++) {
            for(int j = 0; j < board.length; j++) {
                if(set.contains(board[j][i]))
                    return false;
                else if(board[j][i] != '.')
                    set.add(board[j][i]);
            }
            set.clear();
        }
        
        for(int m = 0; m < 3; m++) {
            for(int n = 0; n < 3; n++) {
                for(int i = 3 * m; i < 3 * m + 3; i++) {
                    for(int j = 3 * n; j < 3 * n + 3; j++) {
                        if(set.contains(board[i][j]))
                            return false;
                        else if(board[i][j] != '.')
                            set.add(board[i][j]);
                    }
                }
                set.clear();
            }
        }
        return true;
    }
}
0
2
分享到:
评论

相关推荐

    Sudoku数独益智游戏(完美版1.1.1)

    本游戏界面简洁,并有如下功能: 1. 按照5级难度自动布局或手工布局,并具有计时功能 2. 具有“下一步”提示,和步骤追踪“回退”功能 3. 能够保存布局和求解进度 4. 可电脑求解“唯一解”和“所有解” ...

    谜题游戏Sudoku数独游戏

    Sudoku数独游戏

    Sudoku数独程序编程.pdf

    Sudoku数独程序编程.pdf

    Java SuDoKu数独游戏.rar

    Java SuDoKu数独游戏,一种运用纸、笔进行演算的逻辑游戏。用Java写出的j2me版本的数独,运行于基于Java的手机客户端中。

    CW Sudoku 数独 I 简体中文正式版

    “数独”(Su Doku)是你和方格之间意志的较量,你不需要大部头词典的帮助,也无需去书店查阅参考书籍,你所需要的东西已经全部在你的大脑中了。在这个精彩旅程中,只有你和“数独”。 这款小游戏或称之为...

    sudoku 数独游戏vc源代码

    写的一个数独游戏,自我感觉算法还可以,就放上来了

    Sudoku数独/九宫格游戏(完美版1.2.1)

    本游戏界面简洁,功能完善,堪称数独游戏的完美版本: 1. 按照5级难度自动布局或手工布局,并具有计时功能 2. 具有“下一步”提示,和步骤追踪“回退”功能 3. 能够保存布局和求解进度 4. 可电脑求解“唯一解”和...

    sudoku数独九宫格

    数独,九宫格种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。

    精彩数独智力游戏sudoku

    是一个用vc++实现的数独游戏,可以锻炼你的智力哦!

    Sudoku solver in C++ (数独计算器)

    A Sudoku solver implemented in C++. It can solve a given Sudoku problem, or count the possibilities for all valid Sudoku grids.

    Sudoku数独算法

    数独问题算法,针对任意数独问题的一般算法

    Sudoku数独

    该程序是9*9数独的解决工具,可以根据用户的输入,然后一键补充完整,从而解决数独问题。

    javascript sudoku 数独智力游戏生成代码

    javascript sudoku 数独智力游戏生成代码,喜欢的朋友可以参考下。

    The Mathematics of Sudoku (数独)

    这是一篇关于数独游戏算法的文章,希望对喜爱数独游戏的编程朋友有所帮助。英文版 This is an essay of The Mathematics of Sudoku. Hoping this paper is useful for game programmer.

    sudoku 数独

    用Prolog 解数独, constraint satisfaction problem的方法

    数独sudoku

    数独sudoku:整个矩阵由为9*9的矩阵,矩阵中又分成9个3*3的小矩阵,在每个方格中填入1-9 的数字,必须符合列中无重复数字,行中无重复数字,小矩阵中无重复数字 本游戏介绍: 1、游戏模式 a、练习模式,无计时,...

    数独验证器_sudoku验证器_数独验证_数独_

    数独验证器

    (Sudoku)数独求解计算器

    1、手工输入不完整的数独,可以使用"上下左右"按键移动输入框焦点,输入框只允许输入"1-9"的个位数字,其他字符不允许输入。 2、单击"求解"按钮进行数独运算,程序会检查您输入的数独合法性,不符合规则的数独将会...

    Sudoku.rar_sex_sudoku_数独

    数独游戏,简易版,提供五种难度要求自动出题解题,有人性化操作界面。

Global site tag (gtag.js) - Google Analytics