该算法题来自于 codewars【语言: javascript】,翻译如有误差,敬请谅解~
- 任务
- 找到不连续的数组的第一个元素。
- 例如:
1. 如果我们有一个数组[1,2,3,4,6,7,8],那么1,2,3,4都是连续的,但是6不是,所以6是第一个非连续数。
2. 如果整个数组是连续的,则返回null。 - 注意【第三项有改动】:
1. 该数组将始终至少有2个元素,所有元素都将是数字。
2. 数字也将是独一无二的,按升序排列。
3. 数字可能是正数或负数,第一个数就是非连续数也可以!(eg:[1,3,4] 则1是第一个非连续数。)
- 解答【如解答有误,欢迎留言指正~】
const firstNonConsecutive = (arr) => {
let num = null;
for (let i=1;i<arr.length;i++) {
if(arr[i]-1 != arr[i-1]){
return num = i==1 ? arr[0] : arr[i];
}
}
return num;
}
网友评论