如圖所示,一個很簡單的題目吧,但是我寫完只有20%的準確率,請問這是為什么
JS賽馬網的筆試題提問
慕森王
2018-09-08 14:38:37
TA貢獻1815條經驗 獲得超6個贊
function findKthNumber(n, k) {
let curr = 1;
k = k - 1;
while (k > 0) {
let steps = calSteps(n, curr, curr + 1);
if (steps <= k) {
curr += 1;
k -= steps;
} else {
curr *= 10;
k -= 1;
}
}
return curr;
}
function calSteps(n, n1, n2) {
let steps = 0;
while (n1 <= n) {
steps += Math.min(n + 1, n2) - n1;
n1 *= 10;
n2 *= 10
}
return steps;
}
舉報