package main
import (
"strconv"
)
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @return int整型
*/
func findNthDigit( n int ) int {
// write code here
// n 是几位数
digit := 1
// 当前位数区间的起始数字
start := 1
// 区间之前总共有多少位数字
sum := 9
for n > sum {
n -= sum
digit++
start *= 10
sum = 9 * start * digit
}
// 定位到的数字对应字符串
// (下标从0开始,需要对n减1)
// 比如 811 会定位到 100 + ((811-1)/3) = 370 的位置
num := strconv.Itoa(start+(n-1)/digit)
// 定位到了哪一位上
index := (n-1)%digit
return int(num[index]-'0')
}

京公网安备 11010502036488号