zoukankan      html  css  js  c++  java
  • [LeetCode] 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.
    » Solve this problem

    [解题思路]
    实现题。先检查行列,再检查小9格。


    [Code]
    1:    bool isValidSudoku(vector<vector<char> > &board) {  
    2: // Start typing your C/C++ solution below
    3: // DO NOT write int main() function
    4: if(board.size() == 0) return false;
    5: int row[9], col[9];
    6: for(int i =0; i<9; i++)
    7: {
    8: memset(row, 0, 9*sizeof(int));
    9: memset(col, 0, 9*sizeof(int));
    10: for(int j =0; j<9; j++)
    11: {
    12: if(board[i][j] != '.')
    13: {
    14: if(row[board[i][j]-49] ==1)
    15: return false;
    16: row[board[i][j]-49]++;
    17: }
    18: if(board[j][i] != '.')
    19: {
    20: if(col[board[j][i]-49] ==1)
    21: return false;
    22: col[board[j][i]-49]++;
    23: }
    24: }
    25: }
    26: for(int i =0; i< 9; i+=3)
    27: {
    28: for(int j =0; j<9; j+=3)
    29: {
    30: memset(row, 0, 9*sizeof(int));
    31: for(int m=0; m<3; m++)
    32: {
    33: for(int n =0; n<3; n++)
    34: {
    35: if(board[m+i][n+j] == '.')
    36: continue;
    37: if(row[board[m+i][n+j]-49] ==1)
    38: return false;
    39: row[board[m+i][n+j]-49]++;
    40: }
    41: }
    42: }
    43: }
    44: return true;
    45: }


  • 相关阅读:
    GUI编程之贪吃蛇
    GUI编程之Swing
    Java学习笔记01
    软件测试之使用jmeter进行压力测试
    GitHub以及Git安装的使用
    Axure RP介绍
    结对编程之四则运算
    随心开始
    JAVA入门之简介
    input之File对象的简单介绍
  • 原文地址:https://www.cnblogs.com/codingtmd/p/5078937.html
Copyright © 2011-2022 走看看