/*
将所有的num放到hashset里面,对于查询实现O(1)复杂度
然后我们遍历nums我们只遍历num-1不存在的数,这样的数开头的连续数
*/
class Solution {
public:
int longestConsecutive(vector<int>& nums) {
unordered_map<int,int> mp;
for(auto i:nums) mp[i]=1;
int ans=0;
for(auto i:nums)
{
if(!mp.count(i-1))
{
int res=i;
int len=0;
while(mp.count(res))
{
res+=1;
len++;
}
ans=max(ans,len);
}
}
return ans;
}
};