【发布时间】:2018-09-13 13:30:37
【问题描述】:
我知道已经有一个关于这个主题的帖子,但是我只是想知道为什么这个解决方案不适用于 HackerRank 的“比较三胞胎”问题?当它应该是 1 1 时,我只得到 1 的输出。
问题表明,如果 a0 > b0、a1 > b1 或 a2 > b2(反之亦然),对于任何不相等的比较,结果应该打印单独的间隔整数 1。
https://www.hackerrank.com/challenges/compare-the-triplets/problem
function solve(a0, a1, a2, b0, b1, b2) {
var solution = []
if (a0 > b0 || a1 > b1 || a2 > b2) {
solution += 1;
} else if (a0 < b0 || a1 < b1 || a2 < b2 ) {
solution += 1;
}
return solution.split('');
}
---- 更新----
上面的代码只适用于第一个测试用例而不是其余的。下面的代码虽然笨重,但适用于所有测试用例。
function solve(a0, a1, a2, b0, b1, b2) {
var s = [0, 0];
if (a0 > b0) {s[0] += 1;}
if (a1 > b1) {s[0] += 1;}
if (a2 > b2) {s[0] += 1;}
if (a0 < b0) {s[1] += 1;}
if (a1 < b1) {s[1] += 1;}
if (a2 < b2) {s[1] += 1;}
return s;
}
【问题讨论】:
-
一个输出到什么输入?到目前为止,您只展示了一个函数声明。请edit您的问题并提供minimal reproducible example。
-
你可以让其他人帮助解决代码挑战吗?
-
要向数组添加值,请使用
solution.push(1),而不是solution += 1。 -
solution.split('')你不能拆分数组?! -
@JonasW。这看起来不像是公开比赛,所以应该没问题。
标签: javascript integer