21 lines
634 B
C++
21 lines
634 B
C++
class Solution {
|
|
public:
|
|
int longestConsecutive(vector<int>& nums) {
|
|
unordered_map <int, int> data;
|
|
for(int x:nums) data[x] = 1;
|
|
int res = 0;
|
|
for(auto &n:data){
|
|
if(n.second){
|
|
int val = n.first; int len = 1;
|
|
for(int i = 1; data.count(val - i)&&data[val - i]; i++){
|
|
data[val - i] = 0; len++;
|
|
}
|
|
for(int i = 1; data.count(val + i)&&data[val + i]; i++){
|
|
data[val + i] = 0; len++;
|
|
}
|
|
res = max(len, res);
|
|
}
|
|
}
|
|
return res;
|
|
}
|
|
}; |