剑指 Offer 44. 数字序列中某一位的数字

Posted 来老铁干了这碗代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指 Offer 44. 数字序列中某一位的数字相关的知识,希望对你有一定的参考价值。

class Solution {
    public int findNthDigit(int n) {
        int digit = 1;      // 该数的位数
        long start = 1;      // 该位数的起始值,1位数的起始值为1, 2位数的起始值为10
        long count = 9;      // 某位数所有数字连在一起的长度。
        while(n > count) {
            n -= count;
            digit += 1;
            start *= 10;
            count = digit * start * 9;
        }
        long num = start + (n-1) / digit;
        return String.valueOf(num).charAt((n-1)%digit) - '0';
    }
}

以上是关于剑指 Offer 44. 数字序列中某一位的数字的主要内容,如果未能解决你的问题,请参考以下文章

剑指 Offer 44. 数字序列中某一位的数字

剑指Offer面试题44. 数字序列中某一位的数字

剑指Offer面试题44. 数字序列中某一位的数字

剑指 Offer 44. 数字序列中某一位的数字

LeetCode(剑指 Offer)- 44. 数字序列中某一位的数字

LeetCode(剑指 Offer)- 44. 数字序列中某一位的数字