Nth Digit
Last updated
Was this helpful?
Last updated
Was this helpful?
Find the nth digit of the infinite integer sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...
可以观察到前10个数是一位的, 前100个数是两位的...如果依次遍历下去, 我们就可以知道n是几位的. 知道了是几位的, 让n把前面的位数所占的count抛去后, 让(n - 1) / len就可以知道n对应的num是多少, 让(n - 1) % len就知道是在num中的第几位. 取n - 1而不是n的原因在于index是从1开始的, 即第一个数时n = 1而不是 0. 比如len = 2时, num = 10是起始, 这时n = 1 指向10中的1. 对于n = 2, 如果是n / len 则等于1, num + 1 = 11而不是10. 同样n =2 时n % len = 0, 而不是应该得到的1.
Errors: 1. 长度为2的10~99有90个数, 不是89个数. 2. (n - 1) / len不是n / len.