class Solution {
public:
int findNthDigit(int n) {
int digit = 1;
long long t = 1;
int ans = 0;
while(true){
if(digit * 9 * t < n){
n = n - digit * 9 * t;
digit += 1;
t *= 10;
}
else {
ans = t - 1 + (n + digit - 1) / digit;
n -= (ans - t ) * digit;
break;
}
}
vector<int> hehe;
while(ans > 0){
hehe.push_back(ans % 10);
ans /= 10;
}
return hehe[hehe.size()-n];
}
};