最长连续序列的长度
题目:给定一个未排序的整数数组 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; } }