leetcode 简单 第九十二题 第N个数字

Posted 丁壮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 简单 第九十二题 第N个数字相关的知识,希望对你有一定的参考价值。

在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 个数字。

注意:
是正数且在32为整形范围内 ( n < 231)。

示例 1:

输入:
3

输出:
3

示例 2:

输入:
11

输出:
0

说明:
第11个数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 里是0,它是10的一部分。


class Solution(object):
    def findNthDigit(self, n):
        """
        :type n: int
        :rtype: int
        http://bookshadow.com/weblog/2016/09/18/leetcode-nth-digit/
        """
        for i in range(9):
            d = 9 * 10 ** i
            if n<=d *(i+1):break
            n-=d*(i+1)
        n-=1
        return int(str(10**i + n / (i + 1))[n % (i + 1)])

 

以上是关于leetcode 简单 第九十二题 第N个数字的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 简单 第九十五题 数字转换为十六进制数

leetcode 简单 第九十三题 二进制手表

leetcode 简单第三十二题 买卖股票的最佳时机Ⅱ

leetcode 简单 第九十题 字符串中的第一个唯一字符

leetcode 简单 第七十二题 各位相加

LeetCode第五十二题-N皇后二(JAVA)