扫码关注官方订阅号
如图所示,一个很简单的题目吧,但是我写完只有20%的准确率,请问这是为什么
认证高级PHP讲师
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都不是正数的时候,你考虑了么???
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
leetcode 440原题。
给一个答案不对的结果实例, 目测没问题, 假如传入的n不变, 遍历出的num 也固定, 所以找到数组中index为3(4-1)的值也唯一
加上校验试一下
嗯之前错了 收回
n和m都不是正数的时候,你考虑了么???