func isValidSudoku(board [][]byte) bool { for _, row := range board { rowElements := make(map[byte]struct{}) for _, ele := range row { _, ok := rowElements[ele] if ok && ele != '.' { return false } rowElements[ele] = struct{}{} } } for rowPtr := 0; rowPtr < 9; rowPtr++ { colElements := make(map[byte]struct{}) for _, row := range board { ele := row[rowPtr] _, ok := colElements[ele] if ok && ele != '.' { return false } colElements[row[rowPtr]] = struct{}{} } }for br := 0; br < 3; br++ { // box row for bc := 0; bc < 3; bc++ { // box col seen := make(map[byte]struct{}) for r := 0; r < 3; r++ { // inside box rows for c := 0; c < 3; c++ { // inside box cols ele := board[br*3+r][bc*3+c] if ele == '.' { continue } if _, ok := seen[ele]; ok { return false } seen[ele] = struct{}{} } } }} return true}