题
思
没做出来,参考LeetCode每日一题:第N个数字(No.400)。
状态不行,太累了,头昏昏的。
就这样吧
代码
class Solution {
public int findNthDigit(int n) {
int digit = 1, numCount = 9;
while (n > numCount) {
n -= numCount;
digit++;
numCount = (int) (9 * Math.pow(10, digit - 1) * digit);
}
int quotient = n / digit, remainder = n % digit;
int num = (int) (1 * Math.pow(10, digit - 1) + quotient - 1);
if (remainder == 0) {
char[] array = String.valueOf(num).toCharArray();
return Integer.parseInt(String.valueOf(array[array.length - 1]));
} else {
String numStr = String.valueOf(num + 1);
char[] array = numStr.toCharArray();
return Integer.parseInt(String.valueOf(array[remainder - 1]));
}
}
}