题目描述
给定一个无序的整数类型数组,求最长的连续元素序列的长度。
例如:
给出的数组为[100, 4, 200, 1, 3, 2],
最长的连续元素序列为[1, 2, 3, 4]....返回这个序列的长度:4
你需要给出时间复杂度在O(n)之内的算法
思路:
先排序,记住三个数
int count=1;//当前连续序列长度
int last=num[0];//上一个数字(连续判断条件...)
int max=1;//前面最大的连续序列长度
做的时候搞错了一个点,就是1,1,2,3,算连续三个,我算成连续四个了,后来改掉了
代码:
public int longestConsecutive...(int[] num) {
// 给定一个无序的整数类型数组,求最长的连续元素序列的长度。...// 例如:
// 给出的数组为[100, 4, 200, 1, 3, 2],
// 最长的连续元素序列为[1, 2, 3, 4].