這一題是要驗證數獨的題目, 是否有符合規則(不代表這個題目...
leetcode

Valid sudoku

這一題是要驗證數獨的題目, 是否有符合規則(不代表這個題目解的出來)
所以要驗證數獨的每一行, 列, 3×3小格子是否有重複的數字出現

解題脈絡

因為是要驗證行, 列, 獨立的3×3小格子, 所以分別把取得的數字, 放入對應的陣列中
只要陣列內的數字沒有重複, 代表符合規則

寫法

func isValidSudoku(board [][]byte) bool {
    var row, col, subBox [9][9]bool
	for seq1, rowData := range board {
		for seq2, colData := range rowData {
			if colData == '.' {
				continue
			}
			num := int(colData) - 49
			k := seq1/3*3 + seq2/3
			if row[seq1][num] || col[seq2][num] || subBox[k][num] {
				return false
			}

			row[seq1][num], col[seq2][num], subBox[k][num] = true, true, true
		}
	}
	return true
}

以上是給自己做個紀錄