最长连续序列
问题:
# 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。
#
# 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。
解决:遍历每一个数,若是从起点开始数是复合要求,就遍历下一个,之后维护最大值
# leetcode submit region begin(Prohibit modification and deletion) class Solution: def longestConsecutive(self, nums: List[int]) -> int: nums = set(nums) # 自动去重排序 res = 0 for i in nums: if i - 1 not in nums: y = i + 1 while y in nums: y += 1 # 更新最大长度 res = max(res, y - i) return res # leetcode submit region end(Prohibit modification and deletion)
时刻记着自己要成为什么样的人!