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

HackerRank Compare the Triplets问题:Javascript解决方案输出异常求助

排查你的「Compare the Triplets」JS解决方案问题

嘿,我来帮你揪出问题所在~你说预期输出是1 1但只得到1,大概率是你在输出/返回结果的时候没正确处理两个分数的格式,或者漏算了其中一个分数的统计。

先再明确下题目核心规则:

分别比较a数组和b数组的对应元素(a0 vs b0、a1 vs b1、a2 vs b2),每一组中谁的数大,谁的分数加1;相等则不加。最后输出以空格分隔的两个整数,第一个是爱丽丝的分数,第二个是鲍勃的分数。

常见错误点及解决方法

我猜你可能踩了下面这些坑:

  • 只返回/输出了其中一个分数:比如你的代码最后只写了return aliceScore;或者console.log(bobScore);,那肯定只会输出一个数。
  • 返回了数组但没转成空格分隔的字符串:如果直接返回[alice, bob],HackerRank的判题系统可能无法识别数组格式,只会输出数组的第一个元素或者格式错误。
  • 分数统计逻辑有遗漏:比如只统计了爱丽丝得分的情况,没处理鲍勃得分的分支(不过你能得到1,这个可能性相对小)。

给你一个正确的示例代码参考

function solve(a0, a1, a2, b0, b1, b2) {
    let alice = 0;
    let bob = 0;

    // 逐个比较对应元素
    if (a0 > b0) alice++;
    else if (a0 < b0) bob++;

    if (a1 > b1) alice++;
    else if (a1 < b1) bob++;

    if (a2 > b2) alice++;
    else if (a2 < b2) bob++;

    // 关键:返回空格分隔的字符串,或者直接用console.log输出两个数
    return `${alice} ${bob}`;
    // 或者用console.log(alice, bob); 也能输出空格分隔的结果
}

你可以对照自己的代码看看是不是在结果输出这一步出了问题,只要确保最后输出的是两个用空格分开的整数,就能符合题目的要求啦~

内容的提问来源于stack exchange,提问作者Justin Cefai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:33:42