一、题目
二、思路
1、添加到哈希容器中
2、遍历,找到当前数的前一个,如果不在哈希容器中,就从当前数while遍历到后面,找到长度
三、代码
class Solution {
public:
int longestConsecutive(vector<int>& nums) {
unordered_set<int> dic;
int size=nums.size();
for(int i=0;i<size;++i){
dic.emplace(nums[i]);
}
int ans = 0;
for(int i=0;i<size;++i){
if(dic.count(nums[i]-1)==0){
int cur=nums[i];
int cnt=1;
while(dic.count(cur+1)){
cur++;
cnt++;
}
ans=max(ans,cnt);
}
}
return ans;
}
};