美文网首页
36. Valid Sudoku

36. Valid Sudoku

作者: exialym | 来源:发表于2016-09-21 22:47 被阅读42次

    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 '.'.

    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.

    就走一遍二维数组,行列同时走,用两个对象记录。至于方块,基于行来走,用3个对象来记录,走3行清空三个对象。

    var isValidSudoku = function(board) {
        var row = {};
        var col = {};
        var suq = [{},{},{}];
        for (var i = 0;i<9;i++) {
            for (var j = 0; j < 9;j++) {
                var val = board[i][j];
                var valCol = board[j][i];
                console.log(i+":::"+valCol)
                if (valCol!=='.') {
                    if (col[valCol]!==undefined) 
                        return false;
                    else
                        col[valCol] = 0;
                }
                if (val!=='.') {
                    //console.log(row[val])
                    //行不重复
                    if (row[val]!==undefined)
                        return false;
                    else
                        row[val] = 0;
                    //方块不重复
                    if (suq[parseInt(j/3)][val]!==undefined)
                        return false;
                    else
                        suq[parseInt(j/3)][val] = 0;
                }
            }
            row = {};
            col = {};
            if ((i%3)===2)
                suq = [{},{},{}];
        }
        return true;
    };
    

    相关文章

      网友评论

          本文标题:36. Valid Sudoku

          本文链接:https://www.haomeiwen.com/subject/nnylettx.html