leetcode+ 最长连续子序列,哈希

点击打开链接
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;
    }
};

猜你喜欢

转载自blog.csdn.net/u013554860/article/details/80698987