最长连续序列的长度
题目:给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。
例:
输入:nums = [100,4,200,1,3,2]
输出:4
解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。
思路:排序
class Solution {
public int longestConsecutive(int[] nums) {
int n = nums.length;
if (n < 2) {
return n;
}
Arrays.sort(nums);
int res = 1, t = 1;
for (int i = 1; i < n; ++i) {
if (nums[i] == nums[i - 1]) {
continue;
}
if (nums[i] - nums[i - 1] == 1) {
t += 1;
res = Math.max(res, t);
} else {
t = 1;
}
}
return res;
}
}
