You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HackerRank挑战赛The Hurdle Race本地正确线上测试失败问题求助

错误核心原因

你的两个实现均存在入参顺序与题目要求不匹配的问题,这是提交后通过率低的核心诱因:
HackerRank平台「The Hurdle Race」挑战给定的hurdleRace函数入参规则为:

  • 第一个参数k:数值类型,代表角色默认可以跳跃的最大高度
  • 第二个参数height:数组类型,存储所有栏架的高度

你的代码逻辑完全倒置了两个参数的作用:将第一个入参作为栏架高度数组处理,第二个入参作为角色跳跃高度数值处理。你本地测试时自行传入的参数顺序为hurdleRace(栏架数组, 跳跃高度)刚好匹配你写的逻辑,所以本地运行结果正确;但提交到平台后,平台会按照官方定义的顺序传参,此时你代码中拿数值类型的k求最大值、遍历长度,都会得到错误结果,自然会出现返回0的异常情况。

修正后的代码示例

以第一个实现为例,仅需调整参数对应的逻辑即可:

function hurdleRace(k, height) {
  // 从height数组取最大栏架高度
  let maxH = Math.max.apply(null, height);
  // 用角色跳跃高度k和最大栏高对比
  if (k < maxH) {
    return maxH - k;
  } else {
    return 0;
  }
}

第二个实现同理,把代码中所有用到k的位置替换为height,判断条件里的height替换为k即可正常运行。

其他注意事项

提交代码前建议删除多余的console.log语句,部分编程判题平台会将控制台输出内容识别为程序返回结果,可能引发不必要的判题失败。

内容的提问来源于stack exchange,提问作者Armando Apolinar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 03:45:02