概述
400. 第 N 位数字
给你一个整数 n
,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...]
中找出并返回第 n
位数字。
关键点是记住,n位数共有9*10^n-1个,占据位数为9*n*10^n-1位,以此为基础确定位数即可,确定位数后就很轻松了
class Solution:
def findNthDigit(self, n: int) -> int:
d, count = 1, 9
while n > d * count:
n -= d * count
d += 1
count *= 10
index = n - 1
start = 10 ** (d - 1)
num = start + index // d
digitIndex = index % d
return num // 10 ** (d - digitIndex - 1) % 10
最后
以上就是贤惠芹菜为你收集整理的leetcode 11.30每日一题的全部内容,希望文章能够帮你解决leetcode 11.30每日一题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复