class Solution {

public:

    /**

     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可

     *

     * 

     * @param n int整型 

     * @return int整型

     */

    

    //找规律

    int findNthDigit(int n) {

        //几位数

        int len=1;

        //当前X位数区间的起始数字

        long start=1;

        //当前区间之前有多少位

        long pre=9;

        while(n>pre){

            n-=pre;

            //数字位长每次加1

            len+=1;

            //起始位每次*10

            start*=10;

            pre=9*len*start;

        }

        //定位n落到哪一个具体的数字上

        long number=start+(n-1)/len;

        //确定在第几位

        int index=(n-1)%len;

        //返回那位数

        return to_string(number)[index]-'0';

        // write code here

    }

};