leetcode(hot100)3
解题思路:本题用的是unordered_set,只需要集合就行 set存储的数据不能重复,将所有的数据都存储在set中,然后寻找验证它是不是开头(通过寻找num-1),然后验证它的下一个数存不存在,存在结果就加一,数字也加一,不存在就跳过。
class Solution {
public:
int longestConsecutive(vector<int>& nums) {
unordered_set<int>set(nums.begin(),nums.end());
int sum = 0;
for(int num : set){
if(!set.count(num-1)){
int currentnum = num;
int currentstack = 1;
while(set.count(currentnum + 1)){
currentnum += 1;
currentstack += 1;
}
sum = max(currentstack,sum);
}
}
return sum;
}
};