def longest_consecutive(nums): if not nums: return 0 转为集合,便于O(1)时间判断元素是否存在 num_set = set(nums) max_length = 0 for num in num_set: 只从连续序列的起点开始计算(即num-1不在集合中) if num - 1 not in num_set: current_num = num current_length = 1 while current_num + 1 in num_set: current_num += 1 current_length += 1 max_length = max(max_length, current_length) return max_length print(longest_consecutive([100, 200, 1, 2, 3, 90, 4]))
点赞 评论

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
Java转测开第一人:这种就是饼 把应届当廉价劳动力用完然后丢掉
你觉得今年秋招难吗
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务