要求:连续的数字,最长长度,O(n)
思路:哈希表,注意从序列最左边开始即可
class Solution {
public:
int longestConsecutive(vector<int>& nums) {
unordered_map<int,int> m;
for(int &num:nums)
m[num]=1;
int ans=0;
for(auto [key,val]:m){
if(m.count(key-1))continue;
int i=1;
while(m.count(key+i))++i;
ans=max(ans,i);
}
return ans;
}
};