我是靠谱客的博主 贤惠芹菜,最近开发中收集的这篇文章主要介绍leetcode 11.30每日一题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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每日一题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部