力扣
数学找规律,参考链接

Python
class Solution:
def findKthNumber(self, k: int) -> int:
digit, start = 1, 1
count = 9
while k > count:
k -= count
digit += 1
start *= 10
count = 9 * start * digit
num = start + (k-1) // digit
num_s = str(num)
return int(num_s[(k-1) % digit])
Java
class Solution {
public int findKthNumber(int k) {
int digit = 1;
long start = 1;
long count = 9;
while (k > count) {
k -= count;
digit += 1;
start *= 10;
count = digit * start * 9;
}
long num = start + (k - 1) / digit;
String numStr = Long.toString(num);
int c = numStr.charAt((k - 1) % digit) - '0';
return c;
}
}