讨论/《算法面试题汇总》 - 最长连续序列/
《算法面试题汇总》 - 最长连续序列
共 1 个回复

我先排序,再计算,O(nlogn) 的时间复杂度超过了90% 的人。
`public int longestConsecutive2(int[] nums) {
int len = nums.length;

    if (len <= 1){
        return len;
    }

    Arrays.sort(nums);

    int longest = 0;
    int curLongest = 1;

    int pre = nums[0];
    for (int i = 1; i < len; i ++){
        if (nums[i] == pre){
            continue;
        }

        if (nums[i] == pre + 1){
            curLongest ++;
        }
        else {
            longest = Math.max(longest, curLongest);
            curLongest = 1;
        }

        pre = nums[i];
    }

    return Math.max(longest, curLongest);
}`