【Web前端问题】JS赛马网的笔试题提问

图片描述

如图所示,一个很简单的题目吧,但是我写完只有20%的准确率,请问这是为什么

回答:

leetcode 440原题

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;

}

回答:

给一个答案不对的结果实例, 目测没问题, 假如传入的n不变, 遍历出的num 也固定, 所以找到数组中index为3(4-1)的值也唯一

回答:

加上校验试一下

if (typeof n !== 'number' || typeof m !== 'number' || n < 1 || n < m){

return null;

}

回答:

嗯之前错了 收回

回答:

n和m都不是正数的时候,你考虑了么???

以上是 【Web前端问题】JS赛马网的笔试题提问 的全部内容, 来源链接: utcz.com/a/140411.html

回到顶部