-
Notifications
You must be signed in to change notification settings - Fork 0
128_LongestConsecutiveSequence
a920604a edited this page Apr 14, 2023
·
1 revision
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)
footer