给定一个未排序的整数数组,找出最长连续序列的长度。
要求算法的时间复杂度为 O(n)。
示例:
输入: [100, 4, 200, 1, 3, 2]
输出: 4
解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。
AC:
class Solution {
public int longestConsecutive(int[] nums) {
Arrays.sort(nums);
if(nums.length==0){
return 0;
}
int j = 1 ;
int max = 1;
for(int i=0;i<nums.length-1;i++){
if(nums[i]+1==nums[i+1]){
j++;
}
else if(nums[i]==nums[i+1]){}
else {
j=1;
}
if(j>max) max = j;
}
return max;
}
}