1 Star 0 Fork 0

catyMap/AlgorithmNote

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
countNumbersWithUniqueDigits.go 637 Bytes
一键复制 编辑 原始数据 按行查看 历史
catyMap 提交于 2021-04-07 23:08 +08:00 . 4/7日新增算法
package main
import (
"fmt"
)
// 关键:1.每层的node都要加入res 2.第一层的枝数和比其它层的少1,因为数大于1位时,0不能做首位数 3.分支内当前node以上任意一层出现重复数都要跳过
func countNumbersWithUniqueDigits(n int) (res int) {
nMap := make([]int,10,10)
var depth func(k int)
depth = func(k int) {
if k >= n {
return
}
i := 0
if k == 0 {
i = 1
}
for ; i < 10 ; i++ {
if nMap[i] > 0 {
continue
}
res ++
nMap[i] = 1
depth(k+1)
nMap[i] = 0
}
}
depth(0)
res ++
return
}
func main() {
fmt.Println(countNumbersWithUniqueDigits(4))
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/dogemap/algorithm-note.git
git@gitee.com:dogemap/algorithm-note.git
dogemap
algorithm-note
AlgorithmNote
dc486f96f6c1

搜索帮助