标签:ret 它的 color nbsp 描述 solution ons length map
给定一个未排序的整数数组,找出最长连续序列的长度。
要求算法的时间复杂度为 O(n)。
示例:
输入: [100, 4, 200, 1, 3, 2]
输出: 4
解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-consecutive-sequence
class Solution { public int longestConsecutive(int[] nums) { if(nums.length <= 1)return nums.length; //set可以去重 Set<Integer> set = new HashSet<Integer>(); for(int num:nums){ set.add(num); } int longest = 0; int currentLongest = 1; for(int num:nums){ currentLongest = 1; if(!set.contains(num-1)){ while(set.contains(num+1)){ currentLongest++; num++; } if(currentLongest > longest)longest = currentLongest; } } return longest; } }
标签:ret 它的 color nbsp 描述 solution ons length map
原文地址:https://www.cnblogs.com/xxxxxiaochuan/p/13666006.html