• 判断数独是否合法(LintCode) .


    判断数独是否合法

    请判定一个数独是否有效。

    该数独可能只填充了部分数字,其中缺少的数字用. 表示。

    样例

    下列就是一个合法数独的样例。

    Valid Sudoku

    注意

    一个合法的数独(仅部分填充)并不一定是可解的。我们仅需使填充的空格有效即可。

    说明

    什么是 数独

    一开始认为会超时于是有了用空间换时间的想法于是出现如下代码。。

    后来一想,肯定不会超时啊。。 不过这样代码其实也简单了很多。

    总耗时: 1005 ms

     1 class Solution {
     2     /**
     3       * @param board: the board
     4         @return: wether the Sudoku is valid
     5       */
     6     public boolean isValidSudoku(char[][] board) {
     7         int r[][] = new int[9][9];
     8         int l[][] = new int[9][9];
     9         int a[][][] = new int[3][3][9];
    10         
    11         for(int i=0;i<9;i++) {
    12             for(int j=0;j<9;j++) {
    13                 r[i][j] = 0;
    14                 l[i][j] = 0;
    15                 if(i < 3 && j < 3) {
    16                     for(int k = 0; k<9; k++)
    17                     a[i][j][k] = 0;
    18                 }
    19             }
    20         }
    21         
    22         for(int i=0;i<9;i++) {
    23             for(int j=0;j<9;j++) {
    24                 if(board[i][j] == '.') continue;
    25                 int n = board[i][j] - '0';
    26                 if(n < 0 || n > 9) return false;
    27                 if(++r[i][n-1] > 1) return false;
    28                 if(++l[j][n-1] > 1) return false;
    29                 int x = i/3;
    30                 int y = j/3;
    31                 if(++a[x][y][n-1] > 1) return false;
    32             }
    33         }
    34         
    35         return true;
    36     }
    37 };
    View Code
  • 相关阅读:
    5.11号团队冲刺(十)
    5.10号团队冲刺(九)
    python day04
    python day03
    python day02
    python day01
    模板语法标签继承关系
    DNS解析详情
    和域名相关的知识
    Webpack 4.X webpack.config.js 文件配置(一)
  • 原文地址:https://www.cnblogs.com/FJH1994/p/5022197.html
Copyright © 2020-2023  润新知