title: 128. Longest Consecutive Sequence
tags:
- hash table
categories: leetcode
comments: false
class Solution {
public:
int longestConsecutive(vector<int>& nums) {
// hash table η΄ιζΈεθε
ε«θ©²ζΈεηζι·ειι·εΊ¦
unordered_map<int,int> mp;
int ret = 0;
for(int n :nums){
if(mp.find(n)!=mp.end()) continue;
int l = (mp.count(n-1))?mp[n-1]:0;
int r = (mp.count(n+1))?mp[n+1]:0;
int sum = r+l+1;
mp[n] = sum;
mp[n-l] = sum;
mp[n+r] = sum;
ret = max(ret,sum);
}
return ret;
}
};
- time complexity
O(nlogn)
- space complexity
O(n)