最长连续序列-hash

58 阅读1分钟
// 最长连续序列-hash  
// 输入:nums = [100,4,200,1,3,2]  
// 输出:4  
// 解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。  
public static int longestConsecutive(int[] nums){  
    HashSet<Integer> set = new HashSet<Integer>();  
    for (int num:  
    nums) {  
        set.add(num);  
    }  
    int longest=0;  
    for (int num:  
        set) {  
        if(!set.contains(num-1)){  
            int c=num;  
            int cs=1;  
            while (set.contains(c+1)){  
                c+=1;  
                cs+=1;  
            }  
            longest=Math.max(longest,cs);  
        }  
    }  
    return longest;  
}