
哈希表
class Solution {
public:
int longestConsecutive(vector<int>& nums) {
//set记录并且去重nums中的数
unordered_set<int>set;
for(int i=0;i<nums.size();i++)
{
set.insert(nums[i]);
}
int result=0;
//遍历所有数
for(auto i=set.begin();i!=set.end();i++)
{
//如果这个数不是开头,则跳过,即num的前一个数不存在
//是开头,则计数这个数开头的序列长度
int num=*i;
if(!set.count(num-1))
{
int currentnum=num;
int count=1;
while(set.count(currentnum+1)){//是开头,则计数这个数开头的序列长度
currentnum+=1;
count+=1;
}
result=max(result,count);
}
}
return result;
}
};




![[数据结构1.0]快速排序](https://img-blog.csdnimg.cn/direct/c594957c9309435ba070bd0b21d86893.png)












![[第五空间 2021]WebFTP](https://img-blog.csdnimg.cn/direct/d822724a89bf4a3b85c898cad1f4d5e5.png)
