美文网首页每日打卡
2021-11-30 400. 第 N 位数字

2021-11-30 400. 第 N 位数字

作者: 16孙一凡通工 | 来源:发表于2021-11-30 10:25 被阅读0次

最烦这种纯粹的数学题,数学本就不好的我瑟瑟发抖,就是纯粹的数学算法,搞清楚题意和理解就行。

java版本:

class Solution {
    public int findNthDigit(int n) {
        
    if (n<10){
        return n;
    }
    // 无限的整数序列可能O(n)不太行
   
    // 长度是n 的数字共有9*10^n个
    int a=1;
  
   while(9*Math.pow(10,a-1)*a<n) {
         n-=9*Math.pow(10,a-1)*a;
         a++;
       
    }
    // 得到  对应长度
    // 1276  9+90*2+1087/3
    // System.out.println(n);
   
   int  res= (int)Math.pow(10,a-1)-1+n/a;
    //  System.out.println(res);
     if(n%a==0){
      return GetRes(res,a);
     }else{
         res+=1;
         a=n%a;
        //   System.out.println(res);
        //    System.out.println(a);
 return GetRes(res,a);
     } 
    }
    public int GetRes(int res,int a){
     String res_str=Integer.toString(res);
    //  System.out.println(res_str);
    //   System.out.println(res_str.substring(a-1,a));
   return Integer.parseInt(res_str.substring(a-1,a));
    }
}

相关文章

  • Leetcode 400 第 N 位数字

    400. 第 N 位数字[https://leetcode-cn.com/problems/nth-digit/]...

  • 2021-11-30 400. 第 N 位数字

    最烦这种纯粹的数学题,数学本就不好的我瑟瑟发抖,就是纯粹的数学算法,搞清楚题意和理解就行。 java版本:

  • 400. 第 N 位数字

    给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...

  • 400_nth_digit 第N个数字

    题目描述 400. 第N个数字 思路 这个 就是找规律啦 len固定的时候 有多少个数字 是排列组合问题 例如le...

  • Leetcode 400. 第N个数字

    题目描述 在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 ...

  • DAY8 第n个数字

    剑指Offer 44:数字序列中某一位的数字 Leetcode 400. Nth Digit 先想了一个蠢办法,一...

  • 正则表达式速查表

    一、数字校验 数字: ^[0-9]*$ n位的数字: ^\d{n}$ 至少n位的数字: ^\d{n,}$ m-n位...

  • 常用正则总结

    数字类 数字:^[0-9]$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d...

  • 常用正则表达式大全

    纯数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}...

  • 常用正则表达式校验数字

    数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,...

网友评论

    本文标题:2021-11-30 400. 第 N 位数字

    本文链接:https://www.haomeiwen.com/subject/qhzrxrtx.html