Golang:
思路:看了下大佬的回答,用map实现,O(n),但是无论是时间复杂度的效率还是空间复杂度的效率都很低,不知道为什么
代码如下:
func longestConsecutive(nums []int) int {
mp:=make(map[int]int)
res:=0
for _,v:=range nums{
if mp[v]==0{
mp[v]=mp[v-1]+mp[v+1]+1
if mp[v]>res {
res=mp[v]
}
mp[v-mp[v-1]]=mp[v]
mp[v+mp[v+1]]=mp[v]
}
}
return res
}
有疑问加站长微信联系(非本文作者)