leetcode 400. 第 N 位数字 python

leetcode 400. 第 N 位数字 python,第1张

leetcode 400. 第 N 位数字 python

题目描述:

题解:

参考leetcode 400. 第 N 位数字 - 知乎 

用n减去前面数字的位数,然后确定n对应的是第几个数字的第几个位置。

start记录起始位置,1,10,100...

digit记录每个数字的位数

count记录位数为digit的数字一共多少个字符=9*start*digit

class Solution:
    def findNthDigit(self, n):
        digit,start,count = 1,1,9
        while n>count:
            n-=count
            start = start*10
            digit = digit+1
            count = 9*start*digit
        num = start+(n-1)//digit
        return int(str(num)[(n-1)%digit])

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5651225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存