数独

作者: 瞬铭 | 来源:发表于2019-08-22 19:22 被阅读0次

https://leetcode.com/problems/sudoku-solver/

1.输入9*9的矩阵,有数字的地方是数字,没数字的地方显示'.'
2.从第一行开始每一行遍历每一个格子,当碰到'.'的时候,需要再这个格子填入数字
3.怎么填数字? 从1到9 一个一个试

   public void solveSudoku(char[][] board) {
        this.solvehelper(board, 0, 0);
    }

    public Boolean solvehelper(char[][] board, int i, int j) {
        if (i == 9) {
            return true;
        }

        if (j >= 9) {
            return solvehelper(board, i + 1, 0);
        }

        if (board[i][j] != '.') {
            return solvehelper(board, i, j + 1);
        }

        for (char c = '1'; c <= '9'; c++) {
            if (!suduValiad(board, i, j, c)) {
                continue;
            }

            board[i][j] = c;

            if (solvehelper(board, i, j + 1)) {
                return true;
            }
            board[i][j] = '.';
        }
        return false;
    }

    public Boolean suduValiad(char[][] board, int i, int j, char val) {
        for (int x = 0; x < 9; x++) {
            if (board[x][j] == val) {
                return false;
            }
        }

        for (int y = 0; y < 9; y++) {
            if (board[i][y] == val) {
                return false;
            }
        }

        int row = i - i % 3;
        int col = j - j % 3;

        for (int x = 0; x < 3; x++) {
            for (int y = 0; y < 3; y++) {
                if (board[x + row][y + col] == val) {
                    return false;
                }
            }
        }
        return true;
    }

相关文章

  • 数独数独

    想找人一起玩数独,你在哪?

  • 数独数独我爱你

    好久没玩数独了,昨天在图书馆借书时突发奇想查了有关数独的书,有好多!借了一本非常数独,回家就迫不及待地翻阅,哇塞,...

  • 数独

    一款拥有几十年历史的数字益智游戏,5种宫格,3种难度,适合各种水平,最接地气的数独游戏。 游戏特性: -- 每种难...

  • 数独

    现在,我每周天几乎都上的数独,直到上周天我全部学完了数独的六堂课。 在课上,我们学习了四宫格与六宫...

  • 数独

    学习目标 1、经历填数游戏活动,初步提高分析推理能力。 2、在探索、尝试、交流等活动中,体会填数游...

  • 数独

    这是一款集合了数独、方块、圈圈消消乐以及疯狂球球的合集游戏,画面精美,操作简单,经典数独与球球考验思维、方块与圈圈...

  • 数独

    全新数独游戏,无限个数独关卡,简单操作下的无穷乐趣! 玩好数独游戏首先要了解它的特点、要求,然后要运用一些原则和技...

  • 数独

    最近我参加了一个数独班,虽然我之前有学过一点点的基础,但是应该用什么规律来解,我并不是很清楚。而刚好通过...

  • 数独

    数独游戏是对智慧和毅力的考验。在这看似简单的小小一方九宫格上,用自己所有的想象力、逻辑推理和创新思维,去感悟游走在...

  • 数独

    和你一起玩数独,很开心,哈哈,你的方式,我的方式,加起来,是会赢的,死胡同的时候,不赌一把,不会知道成与败,当然,...

网友评论

      本文标题:数独

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