Leetcode400. 第N位数字
1. 问题描述
2. 思路
- 找到第n位数字属于的整数num
- 找到第n位数字在num中的索引index
- 解析出num中的第index个数
3. 代码
func findNthDigit(n int) int {
d := 1
for count := 9; n > d * count; {
n = n - count * d
d++
count = count * 10
}
// 结果为第n + 1个d位数
num := int(math.Pow(10, float64(d-1))) - 1 + n / d
index := n % d
if index == 0 {
return num % 10
} else {
return getNum(num + 1, index, d)
}
}
func getNum(num int, index int, d int) int {
num = num / int(math.Pow(10, float64(d - index)))
return num % 10
}