描述
找出无限正整数数列1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …中的第n个数位。
说明
n是一个正整数,并且不会超出32位有符号整数的范围(n < 2^31)。
样例
- 样例 1:
输入:3
输出:3
- 样例 2:
输入:11
输出:0
解析:数字序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 第11位是0
解析
findNthDigit = function (n) {
len = 1, cnt = 9, start = 1;
while (n > len * cnt) {
n -= len * cnt;
++len;
cnt *= 10;
start *= 10;
}
start += (n - 1) / len;
t = String(start);
return t[(n - 1) % len] - '0';
}