最长的连续元素序列的长度
#include<vector>
#include<algorithm>
#include<unordered_set>
using namespace std;
class Solution {
public:
int longestConsecutive(vector<int>& num) {
int res = 0;
unordered_set<int> numset(num.begin(),num.end());
for (auto pernum:num)
{
if (find(numset.begin(), numset.end(), pernum) == numset.end())
{
continue;
}
int low = pernum;
int high = pernum;
numset.erase(pernum);
while (find(numset.begin(), numset.end(), high + 1) != numset.end())
{
numset.erase(++high);
}
while (find(numset.begin(), numset.end(), low - 1) != numset.end())
{
numset.erase(--low);
}
res = max(res, high - low + 1);
}
return res;
}
};