128. 最长连续序列
暴力法
func longestConsecutive(nums []int) int {
m := map[int]bool{}
// 先保存到map
for i := 0; i < len(nums); i++ {
m[nums[i]] = true
}
maxLen := 0
for i := 0; i < len(nums); i++ {
tmp := 1
val := nums[i]
// 暴力法,假设是nums[i]是连续序列的最小数
for m[val+1] {
tmp++
val++
//fmt.Printf("[%d] map %d add\n", nums[i], val)
}
//fmt.Printf("--[%d] tmp=%d\n", nums[i], tmp)
if tmp > maxLen {
maxLen = tmp
}
}
return maxLen
}

浙公网安备 33010602011771号