题目描述:
思路:说实话,完全没思路。看了题解后发现,这是个找规律的题。。。
0 占第0位
1~9 共9x1 = 9个数字 占位9x1 = 9 位
10~99 共9x10 = 90个数字 占位90x2 = 180 位
100~999 共9x100 = 900个数字 占位900x3 = 2700 位
…
附上题解代码
class Solution {
public int findNthDigit(int n) {
int digit = 1;
long start = 1;
long count = 9;
while (n > count) { // 1.
n -= count;
digit += 1;
start *= 10;
count = digit * start * 9;
}
long num = start + (n - 1) / digit; // 2.
return Long.toString(num).charAt((n - 1) % digit) - '0'; // 3.
}
}