Longest Consecutive Sequence
Given an unsorted array of integers, find the length of the longest consecutive elements sequence. Your algorithm should run in O(n) complexity.
(时间复杂度为O(n),乱序数组中找到最长连续的数列)
Example:
1. 哈希
使用 set 对数组进行hash,这样可以实现遍历数组时迅速定位,具体实现过程如下:
1 | class Solution: |
2. 并查集
并查集是一种常用的解决联通性问题的一种数据结构。首先对数组中的每个数字建立 数->index 的映射,在映射过程中维护并查集将连续的数字的根节点合并,最终判断根节点最多的那一个也就是联通子图中的最大个数。具体实现方法如下:
1 | class Solution: |