简介
leetcode 128
参考链接
知乎 https://zhuanlan.zhihu.com/p/172511851
知识点总结
对于set 遍历过一次的数据进行删除, 这样就不会重复遍历数据
code
class Solution {
public:
int longestConsecutive(vector<int>& nums) {
unordered_set<int> s;
for(auto it: nums) s.insert(it);
int maxV = 0;
int sNum = s.size();
int delN = 0;
while(delN < sNum) {
int value = *(s.begin());
int it = value;
int length = 0;
while(s.count(value)) {
length++;
s.erase(value);
value--;
delN++;
}
value = it + 1;
while(s.count(value)) {
length++;
s.erase(value);
value++;
delN++;
}
maxV = max(maxV, length);
}
return maxV;
}
};
---------------------------我的天空里没有太阳,总是黑夜,但并不暗,因为有东西代替了太阳。虽然没有太阳那么明亮,但对我来说已经足够。凭借着这份光,我便能把黑夜当成白天。我从来就没有太阳,所以不怕失去。
--------《白夜行》