题解 | #数字序列中某一位的数字#

数字序列中某一位的数字

http://www.nowcoder.com/practice/29311ff7404d44e0b07077f4201418f5

常规想法定义数字的相关的位数,进行对应的数位操作

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param n int整型 
# @return int整型
#
class Solution:
    def findNthDigit(self , n: int) -> int:
        # write code here
        # 找这种数字出现的规律
        # 记录n 在第几个位数上面
        # n是几位数
        d = 1
        # 区间的开始的数字
        s = 1
        # 记录当前区间有多少位数字
        sum_m = 9
        while n>sum_m:
            n = n-sum_m
            s = s*10
            d = d+1
            sum_m = 9*s*d
        # 定位n在哪一个数字上,需要注意下标减去1
        num = s + (n-1)//d
        # 定义n在数字的哪一位上面
        index = (n-1)%d # 多位数的第几位
        return int(str(num)[index])

注意编程思路的实现

全部评论

相关推荐

03-06 20:09
贵州大学 Java
King987:你这个学历找个中大厂刷实习经历都是可以的,但是项目要有亮点才行,这个什么外卖就不要做了,去找找最新的项目,至少涉及高并发或者是新型的AI技术mcp rag啥的 ,我在出简历点评,但是你这个没什么好点评的,内容太少,而且含金量太低。自己改一改吧,或者看一下我的项目地址中,那里有大厂最近做过的实习项目
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务