leetcode Valid Sudoku

来源:互联网 发布:小游戏软件开发公司 编辑:程序博客网 时间:2024/06/15 11:15

https://oj.leetcode.com/problems/valid-sudoku/

判断是不是一个有效的九宫格。

行检验,列检验,子九宫格检验。

这是一个类似于操作矩阵的算法题。比如让你给一个矩阵旋转90,180度等等。

题目简单,写起来跟简单就不搭边。。。

public class Solution {      public static boolean isValidSudoku(char[][] board) {  HashSet<Character> set=new HashSet<Character>();  for(int i=0;i<9;i++){  set.clear();  for(int j=0;j<9;j++){  if(board[i][j]!='.'){  if(set.contains(board[i][j])){  return false;  }else{  set.add(board[i][j]);  }  }   }  }  //行测试  for(int j=0;j<9;j++){  set.clear();  for(int i=0;i<9;i++){  if(board[i][j]!='.'){  if(set.contains(board[i][j])){  return false;  }else{  set.add(board[i][j]);  }  }   }  }  //列测试    for(int i=0;i<9;i+=3){   for(int j=0;j<9;j+=3){  set.clear();    for(int k=0;k<3;k++){  for(int l=0;l<3;l++){  if(board[i+k][j+l]!='.'){  if(set.contains(board[i+k][j+l])){  return false;  }else{  set.add(board[i+k][j+l]);  }  }  }  }       }  }    return true;        }}


0 0
原创粉丝点击