免费建设公司网站,腾讯云域名购买,移动端网站开发尺寸,国家住房部和城乡建设部 网站首页题目
给定一个未排序的整数数组 nums #xff0c;找出数字连续的最长序列#xff08;不要求序列元素在原数组中连续#xff09;的长度。
请你设计并实现时间复杂度为 O(n) 的算法解决此问题。
示例 1#xff1a;
**输入#xff1a;**nums [100,4,200,1,3,2] **输出找出数字连续的最长序列不要求序列元素在原数组中连续的长度。
请你设计并实现时间复杂度为 O(n) 的算法解决此问题。
示例 1
**输入**nums [100,4,200,1,3,2] **输出**4 **解释**最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。
示例 2
**输入**nums [0,3,7,2,5,8,4,6,0,1] **输出**9
提示
0 nums.length 105-109 nums[i] 109
思路
这道题的特点一句话总结用数字做为key用当前数字的最大连续长度作为value每次取num-1和num1查一下有没有length没有则置为0有则取为left和right新的length为leftright1同时更新左边界和右边界下哈希表的value即hash[left - length] hash[rightlength] length过一遍返回最长的Length