描述
找出无限正整数数列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';
}
运行结果