LeetCode--128--最长连续序列(python)
时间:2019-09-17
本文章向大家介绍LeetCode--128--最长连续序列(python),主要包括LeetCode--128--最长连续序列(python)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
给定一个未排序的整数数组,找出最长连续序列的长度。
要求算法的时间复杂度为 O(n)。
示例:
输入: [100, 4, 200, 1, 3, 2]
输出: 4
解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。
暴力超时。。。
class Solution: def longestConsecutive(self, nums: List[int]) -> int: longestSequence = 0 for num in nums: curNum = num streak = 1 while curNum +1 in nums: curNum += 1 streak += 1 longestSequence = max(longestSequence,streak) return longestSequence
先排序,在有序list中,判断前一个数字是否比后一个少1,注意最后一个可能是最长连续序列的一部分,所以最后要再比一次
1 class Solution: 2 def longestConsecutive(self, nums: List[int]) -> int: 3 if not nums: 4 return 0 5 nums.sort() 6 longestSequence = 1 7 curStreak = 1 8 for i in range(1,len(nums)): 9 if nums[i] != nums[i-1]: 10 if nums[i] == nums[i-1]+1: 11 curStreak += 1 12 else: 13 longestSequence = max(longestSequence,curStreak) 14 curStreak = 1 15 return max(longestSequence, curStreak)
原文地址:https://www.cnblogs.com/NPC-assange/p/11531443.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Angular 页面元素的DOM级别的删除过程
- 单例模式—四种写法详解
- Angular view container删除view实例的过程
- Angular自定义structural指令的实例化过程以及set方法的调用
- Angular structural指令host element的定位调试
- Import-Module ServerManager Import-Module : 未能加载指定的模块“ServerManager”,因为在任何模块目录中都没有找到有效模块文件..
- Angular自定义structural指令的一个例子
- 2020国庆节Angular structual指令学习笔记
- Delegate
- 图像增强领域大突破!1.66ms处理4K图像,港理工提出图像自适应的3DLUT
- 详解Android studio 动态fragment的用法
- Java fastjson解析json字符串实现过程解析
- SpringMVC系列 MVC设计模式介绍+ SpringMVC的作用及其基本使用+组件解析+注解解析
- Spring系列之事务的控制 注解实现+xml实现+事务的隔离等级
- Greenplum集群扩容总结