请:有人可以告诉我......为什么这个代码不适用于所有测试用例?只有一些工作。下面我将把实际的"不正确的"在每个"不正确的"测试结果。但他们毕竟不是正确的结果吗?我只是简单地错误地格式化输出值,因为它们似乎是正确的吗?为什么说我的以下测试用例不正确?请帮忙。 :(
CODERBYTE.COM不正确的测试案例报告(得出3/5分)--->
1。当输入为(78,90,100,1,2)时输出不正确。
我的实际结果: var arr = [78,90,100,1,2] -outputs-> 90 22. 当输入为(-4,-5,10,2)时输出不正确。
我的实际结果: var arr = [-4,-5,10,2] -outputs-> 2 -43. 当输入为(100,200,3,400,5,1)时输出不正确。
我的实际结果: var arr = [100,200,3,400,5,1] -outputs-> 200 34. 当输入为(4,60,7,188)时,输出不正确。
我的实际结果: var arr = [4,60,7,188] -outputs-> 60 7
[在这里开始代码]:
var arr = [...]; //unordered number list of varying sizes goes here
function SecondGreatLow(arr) {
var input = arr.sort(function(a,b){return (a-b);});
var hashObject = {};
for (var i = input.length -1; i >= 0; i--) {
var currentItem = input[i];
if (hashObject[currentItem] === true) {
input.splice(i, 1);
}
hashObject[currentItem] = true;
}
//alert(input.length + " input.length before final answer returned");
if (input.length > 3) {
input.pop();
input.shift();
var min = Math.min.apply(null,input),
max = Math.max.apply(null,input);
return String(max) + " " + String(min);
}
else if (input.length === 3) {
return String(input[1]) + " " + String(input[1]);
} else {
var min2 = Math.min.apply(null,input),
max2 = Math.max.apply(null,input);
return String(max2) + " " + String(min2);
}
}
// keep this function call here
// to see how to enter arguments in JavaScript scroll down
//SecondGreatLow(readline()); //FOR USE ON CODERBYTE.COM ONLY
console.log(SecondGreatLow(arr));