1 - [1,9] 9
2 - [10,99] 90
3 - [100,999] 900
4 - [1000,9999] 9000
…
int findNthDigit(int n) {
if(n<10)
return n;
long long sum=0,length=1,num=9;
for(;sum+num*length<n;++length,num*=10){
sum+=num*length;
}
long long number=pow(10,length-1)+(n-sum-1)/length;
long long index=(n-sum-1)%length;
return to_string(number)[index]-'0';
}