gpt4 book ai didi

arrays - Golang问题数组数独-网格[i] [j] [0]

转载 作者:行者123 更新时间:2023-12-01 22:24:21 25 4
gpt4 key购买 nike

嗨,我对此代码与seenRow[grid[i][j][0] - 49]完全相同有疑问。这是什么?


func sudoku2(grid [][]string) bool {
for i := 0; i < 9; i++ {
var seenRow [9]bool
var seenCol [9]bool
var seenSub [9]bool
for j := 0; j < 9; j++ {
if grid[i][j] != "." {
if seenRow[grid[i][j][0] - 49] {
return false
}
seenRow[grid[i][j][0] - 49] = true
}
if grid[j][i] != "." {
if seenCol[grid[j][i][0] - 49] {
return false
}
seenCol[grid[j][i][0] - 49] = true
}
x := i%3*3 + j%3
y := i/3*3 + j/3
if grid[y][x] != "." {
if seenSub[grid[y][x][0] - 49] {
return false
}
seenSub[grid[y][x][0] - 49] = true
}
}
}
return true
}

最佳答案

seenRow[grid[i][j][0] - 49]
seenRowstring的一部分,因此前两个索引为 [i][j]grid[i][j]是一个字符串, grid[i][j][0]是第一个字节值的整数形式的数值。

减法 -49和9元素 slice seenRow使我认为字符串的第一个字节是介于49和57之间的值(ascii值“1”至“9”)。在这一点上,有必要查看代码的其他部分,以了解 grid中存储了哪些数据及其语义。

如果我不得不猜测, grid是9 x 9 Sudoko板,其中每个值都表示为一个1字节的字符串,其值从'1'到'9',并带有特殊值'。这是一个很奇怪的表示,但这正是代码所建议的。

关于arrays - Golang问题数组数独-网格[i] [j] [0],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60940816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com