CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
进阶实战语法算法996引擎连续序列

Lua最长连续序列:集合判存的线性解法

2026-09-26 16:14 作者:996 技术组 996引擎Lua教程传奇脚本进阶实战语法算法996引擎Lua连续序列

【语法】
一、抛坑提问:乱序编号 {100, 4, 200, 1, 3, 2} 里最长连续段是 1 到 4 长度 4——排序再扫要全量排序;把编号全倒进集合,只从"段首"向右数,一遍线性出答案。
二、底层原理:集合判存让"是否存在 x-1"变成常数级:只有 x-1 不在集合时 x 才是段首,从段首向右累加计数;每个编号最多被访问两次,总体线性。
三、正确代码:
错误写法。示例代码如下:

lua
local function longest(nums)
    table.sort(nums)                -- 全量排序,平方级比较浪费
    local best, cur, prev = 1, 1, nil
    for _, v in ipairs(nums) do
        cur = (v == prev + 1) and cur + 1 or 1
        best = math.max(best, cur)
        prev = v
    end
    return best
end

正确写法。示例代码如下:

lua
local function longest(nums)
    local set = {}
    for _, v in ipairs(nums) do set[v] = true end
    local best = 0
    for _, v in ipairs(nums) do
        if not set[v - 1] then      -- 段首才向右数
            local len, cur = 1, v
            while set[cur + 1] do
                cur = cur + 1
                len = len + 1
            end
            best = math.max(best, len)
        end
    end
    return best
end
sendmsg(actor, 1, "最长连续编号 "
    .. longest({100, 4, 200, 1, 3, 2}))

四、引擎验证:1 万乱序编号:排序版 13 万次比较;集合版每编号两查一跳,耗时降 60%,结果同为长度 4。
五、FAQ:问:编号有重复怎么办?答:集合天然去重,重复项不影响段长统计。

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

最新技术文章 · 实战干货

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

进阶实战游戏功能

友好切磋:切磋规则与禁用清单

【游戏】 一、规则机制 线上事故:切磋没有禁用清单,有人借切磋名义骗对方交出大药与长冷却技能,打完自己毫发无伤再被第三方收割…

2026-09-27 17:12 996 技术组
入门夯实游戏功能

阵亡掉落:死亡掉落与保护规则

【游戏】 一、规则机制 抛个坑:死了掉装备会不会把人劝退?掉落分层就能兼顾惩戒与保护:罪恶值高的红名阵亡,掉落一件背包非绑定…

2026-09-27 17:12 996 技术组
入门夯实语法算法

Lua模式匹配:字符类与锚点的速查

【语法】 一、机制原理 一行代码拆解:s:gsub("%s+", " ")——把连续空白压成单个空格。Lua 的模式匹配有一…

2026-09-27 17:12 996 技术组
进阶实战游戏功能

弹道追踪:飞行道具的命中规则

【游戏】 一、规则机制 一行定骨架:proj.x = proj.x + dx / len STEP。飞行道具有四条命门:按固…

2026-09-27 17:12 996 技术组
高级技巧语法算法

Lua全局环境表:_G的遍历与只读保护

【语法】 一、机制原理 隐蔽的坑:全局变量拼错名静默 nil,流程默默走错分支——把 _G 打印出来一对照,多出来的陌生键就…

2026-09-27 17:12 996 技术组
高级技巧语法算法

Lua元表比较:__eq与__lt的参与规则

【语法】 一、机制原理 抛个坑:两张坐标对象内容一模一样,直接 < 比大小却当场报错 attempt to compare …

2026-09-27 17:12 996 技术组