说明
给定一个未排序的整数数组,找出最长连续序列的长度。
要求算法的时间复杂度为 O(n)。
示例:1
2
3输入: [100, 4, 200, 1, 3, 2]
输出: 4
解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。
思路
- 遍历nums,放入set里
- 遍历set,判断当前数是否是最小值(是否存在小于nu-1)
- 如果当前数是最小的,从当前数num开始循环判断是否存在num+1等
实现
1 | /** |
人生已如此艰难,就不要再拆穿了
给定一个未排序的整数数组,找出最长连续序列的长度。
要求算法的时间复杂度为 O(n)。
示例:1
2
3输入: [100, 4, 200, 1, 3, 2]
输出: 4
解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。
1 | /** |