package main
import (
"container/list"
"fmt"
)
var (
ROWCOUNT = 9
)
//每一步的数据
type stepData struct {
x int
y int
data []int
backup int
}
//获得数组的行列数据
func getRowColData(info [][]int, row, col int) []int {
returnArr := make([]int, 0, ROWCOUNT)
hasInfo := make(map[int]bool)
for i := 0; i < len(info[row]); i++ {
curDta := info[row][i]
if _, ok := hasInfo[curDta]; !ok {
returnArr = append(returnArr, curDta)
hasInfo[curDta] = true
}
}
for i := 0; i < len(info); i++ {
curDta := info[i][col]
if _, ok := hasInfo[curDta]; !ok {
returnArr = append(returnArr, curDta)
hasInfo[curDta] = true
}
}
return returnArr
}
//获得前一个数组不在后一个数组中的元素
func getDiffInfo(refer []int, cur []int) []int {
hasInfo := make(map[int]bool)
for i := 0; i < len(refer); i++ {
hasInfo[refer[i]] = true
}
returnArr := make([]int, 0, len(c
go语言-数独求解
最新推荐文章于 2022-10-14 21:30:56 发布