题目描述
睿智题目啊,受不了,一点头绪都没有
class Solution {
public int findNthDigit(int n) {
int len = 1, base = 1;
while(n>9L*base*len){
n -= 9*base*len;
len++;
base *= 10;
}
int curNum = (n-1)/len + base, digit = 0;
for(int i=(n-1)%len;i<len;++i){
digit = curNum%10;
curNum /= 10;
}
return digit;
}
}
排名靠前的代码
class Solution {
public int findNthDigit(int n) {
int len = 1, base = 1; while(n>9L*base*len){ n -= 9*base*len; len++; base *= 10; } int curNum = (n-1)/len + base, digit = 0; for(int i=(n-1)%len;i<len;++i){ digit = curNum%10; curNum /= 10; } return digit;
}
}