LeetCode(算法)- 400. 第 N 位数字

Posted 放羊的牧码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(算法)- 400. 第 N 位数字相关的知识,希望对你有一定的参考价值。

题目链接:点击打开链接

题目大意:

解题思路

相关企业

  • 谷歌(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(算法)- 400. 第 N 位数字的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode(算法)- 400. 第 N 位数字

LeetCode(算法)- 400. 第 N 位数字

LeetCode算法第三题

LeetCode 第4题 寻找有序数组的中位数

LeetCode题目----求中位数---标签:Array

LeetCode 400. 第 N 位数字(找规律,Java)