博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【python/Hard/128】 Longest Consecutive Sequence
阅读量:2171 次
发布时间:2019-05-01

本文共 828 字,大约阅读时间需要 2 分钟。

题目

这里写图片描述

基本思路

使用一个哈希表(在Python中是字典dict数据类型)。

dict中的映射关系是{num: False for num in nums},这个表示nums中的x元素没有被访问过,如果被访问过,则为True。
如果x没有被访问过,检查x+1,x+2…,x-1,x-2是否在dict中,如果在dict中,就可以计数。
最后可以求得最大长度。

实现代码

class Solution:    def longestConsecutive(self, nums):        """        :type nums: List[int]        :rtype: int        """        dic = {
num: False for num in nums} maxLen = 0 for i in dic: if dic[i] == False: cur,rightLen = i+1,0 while cur in dic: dic[cur] = True rightLen += 1 cur += 1 cur,leftLen = i-1,0 while cur in dic: dic[cur] = True leftLen += 1 cur -= 1 maxLen = max(maxLen,leftLen+1+rightLen) return maxLen
你可能感兴趣的文章
JavaScript 经典例子
查看>>
判断数据的JS代码
查看>>
js按键事件说明
查看>>
AJAX 初次体验!推荐刚学看这个满好的!
查看>>
AJAX 设计制作 在公司弄的 非得要做出这个养的 真晕!
查看>>
Linux 查看文件大小
查看>>
Java并发编程:线程池的使用
查看>>
redis单机及其集群的搭建
查看>>
Java多线程学习
查看>>
检查Linux服务器性能
查看>>
Java 8新的时间日期库
查看>>
Chrome开发者工具
查看>>
【LEETCODE】102-Binary Tree Level Order Traversal
查看>>
【LEETCODE】106-Construct Binary Tree from Inorder and Postorder Traversal
查看>>
【LEETCODE】202-Happy Number
查看>>
和机器学习和计算机视觉相关的数学
查看>>
十个值得一试的开源深度学习框架
查看>>
【LEETCODE】240-Search a 2D Matrix II
查看>>
【LEETCODE】53-Maximum Subarray
查看>>
【LEETCODE】215-Kth Largest Element in an Array
查看>>