首先这个发错版了,java 不是javascript
如果我的理解没错的话
就是有个阵列大小为N 并且阵列可能是由1~N+1的整数构成
想要有个function 挑出缺少的那个
从原PO的逻辑上 感觉想要的解法
连续整数的阵列 所以阵列后一位元素减前一位元素为2 即表示不连续
我的想法很简单
1.此阵列是否排序过? 若无则进行排序(小到大)
2.由于为连续整数那么阵列的index 与该index的值必定有一定关系
判断有无排序过的部分我就不写了 只改写原来的function
function solution(InputArray)
{
//执行N次循环
for(var i=0; i<InputArray.length; i++)
{
//判断该位置的index+1 是否为该array[index] 的值
if (i+1 != InputArray[i])
{//若是则表示由此处开始不连续
return i+1;
}
}
//由于前面进行N次循环的判断 若前面无连续则会执行到此行
return InputArray.length+1;
}