题目描述
方法:
判断几位数(d位)
判断第几个d位数
定位该数
取该数某个位置上的数字
class Solution:
def findNthDigit(self, n: int) -> int:
if n<10:
return n
base = 1
i = 1
d = 1
while True:
if n > base:
base = d * i * 9 + base
i *= 10
d += 1
else:
d = d - 1
i = i//10
remain = n +9*d*i-base
a, b = remain//d, remain%d
num = i + a
return int(str(num)[b])