You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何验证数字数组是否为无间隔的递增序列?

验证无间隔递增数字序列的函数实现

核心逻辑

要判断数组是否是无间隔的递增序列,只需要检查每一对相邻元素的差值是否严格等于1——因为是递增序列,所以后一个元素必须比前一个大1,只要有一对不满足,直接判定为false。

代码实现(JavaScript)

function isConsecutiveSequence(items) {
    // 空数组或单个元素的情况,没有间隔问题,直接返回true
    if (items.length <= 1) return true;
    
    // 遍历数组,从第二个元素开始对比前一个
    for (let i = 1; i < items.length; i++) {
        if (items[i] - items[i - 1] !== 1) {
            return false;
        }
    }
    
    // 所有相邻元素都满足差值为1,返回true
    return true;
}

测试示例

// 符合条件的情况
console.log(isConsecutiveSequence([1,2,3,4])); // true
console.log(isConsecutiveSequence([5,6,7])); // true
console.log(isConsecutiveSequence([-2,-1,0])); // true

// 不符合条件的情况
console.log(isConsecutiveSequence([1,2,4])); // false
console.log(isConsecutiveSequence([3,2,1])); // false
console.log(isConsecutiveSequence([10,12])); // false

// 边界情况
console.log(isConsecutiveSequence([])); // true
console.log(isConsecutiveSequence([99])); // true

补充说明

  • 数组可以从任意整数开始(正数、负数都支持),只要相邻元素差为1即可
  • 空数组或单个元素默认符合条件,因为不存在“间隔”问题
  • 如果数组是递减或差值不为1的递增,都会返回false

内容的提问来源于stack exchange,提问作者ahols

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 18:39:50