标签:return row 返回 http i++ https style 需要 arrays
1. 满足每一行的数字都只能是1~9,并且不能产生重复
2. 满足每一列的数字都只能是1~9,并且不能产生重复
3. 满足每一个3*3的正方形块中的数字只能是1~9,并且不能产生重复
package leetcode_50; import java.util.Arrays; /*** * * @author pengfei_zheng * 判断数组是否合法 */ public class Solution36 { public static boolean isValidSudoku(char[][] board) { int [][]row = new int[9][9]; int [][]column = new int[9][9]; int [][]cube = new int[9][9]; for(int i = 0 ; i < 9 ; i ++){ Arrays.fill(row[i],0); Arrays.fill(column[i], 0); Arrays.fill(cube[i], 0); } for(int i = 0 ; i < 9 ; i++){ for(int j = 0; j < 9 ; j++){ if(board[i][j]!=‘.‘){ //tips: char转为对应的数字需要减去48 此处得到对一个数字并且减去1 int num = board[i][j]-49; int k = i / 3 * 3 + j / 3; //这里的num表示当前的在该行下是否已经填入过,如果该num已经使用过则返回 if(row[i][num]!=0 || column[j][num]!=0 || cube[k][num]!=0) return false; else row[i][num] = column[j][num] = cube[k][num] = 1; } } } //只有当全部的判断均正常进行时,才能返回true return true; } }
LeetCode 36 Valid Sudoku(合法的数独)
标签:return row 返回 http i++ https style 需要 arrays
原文地址:http://www.cnblogs.com/zpfbuaa/p/6534899.html