思路1
题目要求 O(n) 复杂度。
这是一个很有意思的算法,可以手动模拟一下
- 用哈希表存储每个端点值对应连续区间的长度 
- 若数已在哈希表中:跳过不做处理 
- 若是新数加入: - 取出其左右相邻数已有的连续区间长度 left 和 right 
- 计算当前数的区间长度为:cur_length = left + right + 1 
- 根据 cur_length 更新最大长度 max_length 的值 
- 更新区间两端点的长度值 
 
Last updated
Was this helpful?
题目要求 O(n) 复杂度。
这是一个很有意思的算法,可以手动模拟一下
用哈希表存储每个端点值对应连续区间的长度
若数已在哈希表中:跳过不做处理
若是新数加入:
取出其左右相邻数已有的连续区间长度 left 和 right
计算当前数的区间长度为:cur_length = left + right + 1
根据 cur_length 更新最大长度 max_length 的值
更新区间两端点的长度值
Last updated
Was this helpful?