lc-go/solutions/1/q128/solution.go

28 lines
500 B
Go

// Package q128 implements a solution for https://leetcode.com/problems/longest-consecutive-sequence/
package q128
func longestConsecutive(nums []int) int {
set := make(map[int]struct{}, len(nums))
for _, n := range nums {
set[n] = struct{}{}
}
longest := 0
for n := range set {
if _, ok := set[n-1]; ok {
continue
}
r := n
for {
if _, ok := set[r+1]; ok {
r++
} else {
break
}
}
longest = max(longest, r-n+1)
}
return longest
}
var _ = longestConsecutive