leetcode128.最长连续序列


func longestConsecutive(nums []int) int {
    n:=len(nums)
    if n<=1{
        return n
    }
    sort.Ints(nums)
    ret,temp:=1,1
    
    for k,v:=range nums{
        // 例:长度为5,0 1 2 3执行,v+1==nums[i+1]包括了4
        if k<=n-2{
            if v==nums[i+1]{
                continue
            }
            
            if v+1==nums[i+1]{
                temp++
                continue
            }
        }
        
        if ret<temp{
            ret=temp
        }
        //说明已经不连续了,重新从1开始计算
        temp=1
    }
    return ret
}

Last updated