- O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)
- 红黑树的操作时间跟二叉查找树的时间复杂度是一样的,执行查找、插入、删除等操作的时间复杂度为O(logn)
解法一:哈希表
int longestConsecutive(vector<int>& nums) {unordered_set<int> numSet;for(int num : nums){numSet.insert(num);}int maxLen = 0, curNum = 0, curLen = 1;for(int num : numSet){if(numSet.count(num - 1))continue;curNum = num;curLen = 1;while(numSet.count(curNum + 1)){++curLen;++curNum;}maxLen = max(maxLen, curLen);}return maxLen;}
