【題目描述】
Given an unsorted array of integers, find the length of the longest consecutive elements sequence.
給定一個未排序的整數(shù)數(shù)組,找出最長連續(xù)序列的長度。
【題目鏈接】
www.lintcode.com/en/problem/longest-consecutive-sequence/
【題目解析】
1.對于每一個n,檢查是否為一個consecutive sequence的邊界,也就是n-1不存在于set中,再逐次檢查n + 1, n + 2, n + 3...是否在set中,最終得到另一個上邊界(+1)m,所以sequence的長度為m - n (也可以是n+1不存在于set中,則反向檢查)。轉(zhuǎn)為set,時間O(n),之后對于set中的每一個元素,如果是一個連續(xù)序列的下邊界,則對這個連續(xù)序列進行,因為對于每一個連續(xù)序列實際只會掃描一遍,所以這個循環(huán)最終是O(n)時間復雜度的。
【參考答案】