zoukankan      html  css  js  c++  java
  • [leetcode]Valid Sudoku

    Valid Sudoku

     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.

    算法思路:

    逐行逐列判断行列是否有冲突,然后再逐块判断。

    从网上看到有位大拿写的矩阵标记法,第二遍看继续亮瞎。不敢班门弄斧,然后上人家的算法吧。

    代码如下:

     1 public class Solution {
     2     public boolean isValidSudoku(char[][] board) {
     3         if(board == null || board.length != 9 || board[0].length != 9) return false;
     4         boolean[][] row = new boolean[9][9];
     5         boolean[][] col = new boolean[9][9];
     6         boolean[][] matrix = new boolean[9][9];
     7         for(int i = 0; i < 9; i++){
     8             for(int j = 0; j < 9; j++){
     9                 if(board[i][j] == '.') continue;
    10                 int n = board[i][j] - '1';
    11                 if(row[i][n] || col[j][n] || matrix[i - i % 3 + j / 3][n]){
    12                     return false;
    13                 }
    14                 row[i][n] = col[j][n] = matrix[i - i % 3 + j / 3][n] = true;
    15                 
    16             }
    17         }
    18         return true;
    19     }
    20 }
  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    Python, pandas: how to sort dataframe by index// Merge two dataframes by index
    永久修改VS include目录
    <OFFER05> 05_ReplaceSpaces替换空格
    用二叉树进行排序 x (从小到大)
  • 原文地址:https://www.cnblogs.com/huntfor/p/3901551.html
Copyright © 2011-2022 走看看