Description
Given an unsorted array of integers, find the length of the longest consecutive elements sequence.
For example,
Given [100, 4, 200, 1, 3, 2],
The longest consecutive elements sequence is [1, 2, 3, 4]. Return its length: 4.
Your algorithm should run in O(n) complexity.
Solution
|
|
Result
TLE
Analyse
这里开始没有思路,然后看了一下结题思路,自己的解法,复杂度是O(n ^ 2),出现TLE也很正常,说明在思路和代码的转化过程中还是有一定差距。
Optimization
First
|
|
Second
|
|
Analyse
这里用了一个思路就是,一个连续的数组的话,边界的key存储的value都是这个连续数组的长度。每次都依次进行更新。而第二个set的思路更为简单,主要还是利用set的api,熟悉remove方法的话就会很容易。这里的复杂度都是O(n)。