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

Posted 放羊的牧码

tags:

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

题目链接:点击打开链接

题目大意:

解题思路

 

相关企业

  • 谷歌(Google)
  • 微软(Microsoft)
  • 苹果(Apple)
  • 华为
  • 快手
  • 字节跳动

AC 代码

  • Java
class Solution 
    public int findNthDigit(int n) 
        int digit = 1;
        long start = 1;
        long count = 9;
        while (n > count)  // 1.
            n -= count;
            start *= 10;
            digit += 1;
            count = digit * start * 9;
        
        long num = start + (n - 1) / digit; // 2.
        return Long.toString(num).charAt((n - 1) % digit) - '0'; // 3.
    
  • C++
class Solution 
public:
    int findNthDigit(int n) 
        int digit = 1;
        long start = 1;
        long count = 9;
        while (n > count)  // 1.
            n -= count;
            start *= 10;
            digit += 1;
            count = digit * start * 9;
        
        long num = start + (n - 1) / digit; // 2.
        return to_string(num)[(n - 1) % digit] - '0'; // 3.
    
;

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

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

LeetCode993. 二叉树的堂兄弟节点 / 剑指 Offer 44. 数字序列中某一位的数字 / 剑指 Offer 45. 把数组排成最小的数

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

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

剑指offer19正则表达式匹配 && Leetcode44Wildcard Matching

总结leetcode剑指offer分类学习速成