class Solution {
public:
typedef long long ll;
ll count(ll a, ll n) {
ll b = a + 1, cnt = 0;
for(; a <= n; a *= 10, b *= 10) {
cnt += min(n + 1, b) - a;
}
return cnt;
}
int findKthNumber(int n, int k) {
int i = 1, j = 1;
while(i < k) {
int cnt = count(j, n);
if(i + cnt <= k) {
j++;
i += cnt;
}
else if(i + cnt > k){
j *= 10;
i++;
}
}
return j;
}
};
【字节跳动面试题】字典序的第K小数字
猜你喜欢
转载自blog.csdn.net/qq_41829380/article/details/107337652
今日推荐
周排行