func longestConsecutive(nums []int) int {
mp := make(map[int]bool, 1)
ans := 0
for i := 0; i < len(nums); i ++ {
mp[nums[i]] = true
}
for num := range mp {
if !mp[num - 1]{
cnt := 1
cur := num
for mp[cur + 1] {
cur ++
cnt ++
}
ans = max(cnt, ans)
}
}
return ans
}