"""
给定一个未排序的整数数组,找出最长连续序列的长度
eg:
input: [100, 4, 200, 1, 3, 2]
output: [1, 2, 3, 4]
返回长度=4
"""
import time
import random
from functools import wraps
# 计算运行时间装饰器
def time_cal_deco_(max_repeat: int):
def time_cal_deco(func):
@wraps(func)
def inner(raw_list: list):
t_begin = time.time()
for i in range(max_repeat):
res = func(raw_list)
t_end = time.time()
print(f'{func.__name__} time spent = {t_end - t_begin}s')
return res
return inner
return time_cal_deco
@time_cal_deco_(max_repeat=10)
def find_longest_list(raw_list: list) -> int:
"""
计算最长连续序列长度
:param raw_list:
:return:
"""
# 对列表排序
raw_list.sort()
i = 0
max_len = 1
# 遍历列表,每一次遍历计算以该数字为起点的最长连续列表长度
while i < len(raw_list):
max_le
给定一个未排序的整数数组,找出最长连续序列的长度
最新推荐文章于 2023-11-23 15:09:47 发布
本文探讨如何在未排序的整数数组中找到最长的连续序列。通过高效的算法,我们可以有效地解决这个问题,找出数组中的最大连续序列长度。
摘要由CSDN通过智能技术生成