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
}
posted @ 2024-06-13 20:42  gdut17_2  阅读(16)  评论(0)    收藏  举报