javascript - JS赛马网的笔试题提问
本文介绍了javascript - JS赛马网的笔试题提问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如图所示,一个很简单的题目吧,但是我写完只有20%的准确率,请问这是为什么
解决方案
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;
}
这篇关于javascript - JS赛马网的笔试题提问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文