原题网址:
请判定一个数独是否有效。
该数独可能只填充了部分数字,其中缺少的数字用 .
表示。
注意事项
一个合法的数独(仅部分填充)并不一定是可解的。我们仅需使填充的空格有效即可。
说明
什么是 数独
?
样例
The following partially filed sudoku is valid.
1 #include2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 9 class Solution {10 public:11 bool NotRepeat(vector temp) //判断数组是否有重复元素;12 {13 for (int n=0;n<(int)temp.size();n++)14 {15 for (int m=n+1;m<(int)temp.size();m++)16 {17 if (temp[n]==temp[m])18 {19 return false; 20 }21 }22 }23 return true;24 }25 26 27 bool isValidSudoku(vector > &board)28 {29 for (int i=0;i<9;i++)30 {31 //行;32 vector temprow;33 for (int j=0;j<9;j++)34 {35 if (board[i][j]!='.')36 {37 temprow.push_back(board[i][j]);38 }39 }40 if (NotRepeat(temprow)==false)41 {42 return false;43 }44 //列;45 vector tempcol;46 for (int j=0;j<9;j++)47 {48 if (board[j][i]!='.')49 {50 tempcol.push_back(board[j][i]);51 }52 }53 if (NotRepeat(tempcol)==false)54 {55 return false;56 }57 }58 59 //宫;60 int row=0;61 int col=0;62 for (;row<9;row=row+3)63 {64 for (;col<9;col=col+3)65 {66 vector gong;67 for (int i=row;i
参考:
1
2