- 先进行排序然后哈希集合去重:将所有数字存入哈希集合
numSet
中,实现 O(1) 时间复杂度的存在性检查,同时去除重复元素。 - 寻找连续序列起点:遍历哈希集合中的每个元素,仅当该元素是某个连续序列的起点(即
num-1
不在集合中)时,开始向后探索连续序列。 - 探索连续序列:从起点开始,通过循环检查
num+1
、num+2
是否存在,统计连续序列的长度。 - 更新最大值:每次找到连续序列后,更新全局最大值
maxLength
。
时间复杂度分析:
- 哈希集合的插入和查询操作均为 O(1)。
- 每个元素最多被遍历两次(一次加入集合,一次作为连续序列的起点或中间元素),总时间复杂度为 O(n)。