Jus*_*fai 1 javascript integer
我知道这个话题已经有一个话题了,但是我只是想知道为什么这个解决方案不能解决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('');
}Run Code Online (Sandbox Code Playgroud)
----更新----
上面的代码仅适用于第一个测试用例,而其余的则无效。下面的代码虽然很笨拙,但适用于所有测试用例。
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;
}Run Code Online (Sandbox Code Playgroud)
小智 5
我的解决方案,我认为更简单,并且不假设评级参数的长度。
let counterA = 0,
counterB = 0;
for(let i=0;i<a.length;i++){
if(a[i] > b[i]){
counterA++;
}
else if(a[i] < b[i]){
counterB++;
}
}
return [counterA,counterB];
Run Code Online (Sandbox Code Playgroud)
如果a和b被视为数组,似乎会传递hackerrank:
function compareTriplets(a, b) {
let score = [0,0]
for (let i = 0; i < a.length; i++)
a[i] > b[i] ? score[0]++ : a[i] < b[i] ? score[1]++ : ""
return score
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6633 次 |
| 最近记录: |