class Solution { public: int longestConsecutive(vector& nums) { unordered_map data; for(int x:nums) data[x] = 1; int res = 0; for(auto &n:data){ if(n.second){ int val = n.first; int len = 1; for(int i = 1; data.count(val - i)&&data[val - i]; i++){ data[val - i] = 0; len++; } for(int i = 1; data.count(val + i)&&data[val + i]; i++){ data[val + i] = 0; len++; } res = max(len, res); } } return res; } };