class Solution {
public:
/**
*
* @param num int整型vector
* @return int整型
*/
int longestConsecutive(vector<int>& num) {
if (num.size() == 0)
return 0;
if (num.size() == 1)
return 1;
map<int, int> m;
for (int i = 0; i < num.size(); i++) {
m[num[i]] = i;
}
int k = 1;
int res = 1;
int first = m.begin()->first;
int second ;
for (auto i = m.begin()++; i != m.end(); i++) {
second = i->first;
if (first + 1 == second) {
k++;
} else {
k = 1;
}
res = max(res, k);
first = second;
}
return res;
}
};

京公网安备 11010502036488号