如何处理Codility中的错误输入?

时间:2019-05-28 16:13:12

标签: javascript

摘要:

我正在训练Codility,并执行训练任务。目前尚不清楚如何处理错误的输入。他们的测试只是失败。

示例任务:

给出一个带有数字的数组,例如-1,2,3,5-查找缺少的数字4。

精确问题:

处理诸如空数组或具有1个元素的数组之类的输入的正确方法是什么?

如果一个或多个元素尽管不是数字,该怎么办呢?

结果测试似乎不接受未定义或-1。

1 个答案:

答案 0 :(得分:0)

始终考虑以下假设:N在0 ... 100,000范围内,因此您的代码必须处理空数组和单数数组。
例如,[1]应该返回2(范围为1 ... N + 1),[2]应该返回1,[]应该返回1(范围现在为1 ... 0 + 1)

您可以在项目的第二个文件中添加案例,但是您需要自己评估结果。 我下面的代码以100%的结果通过。 对于无效案例,我将返回0,尽管在问题描述中并未明确指出该数字,并且可能未进行评估。

function solution(A) {
    let values=[];
    for(let  i=0;i<A.length;i++){
       values[A[i]]=1;
    }

    for(let  i=1;i<(A.length+2);i++){
       if(values[i]===undefined){
           return i;
       }
    }
    return 0;
}