点击打开链接
class Solution {
public:
int longestConsecutive(vector<int>& nums) {
int res = 0;
unordered_map<int, int> tr_left, tr_right;
for(auto& x:nums){
int left = tr_right[x-1];
int right = tr_left[x+1];
tr_left[x-left] = max(tr_left[x-left], left+1+right);
tr_right[x+right] = max(tr_right[x+right], left+1+right);
res = max(res, left+1+right);
}
return res;
}
};