Longest Consecutive Sequence
来源:互联网 发布:淘宝衣服换号 编辑:程序博客网 时间:2024/06/05 00:18
Given an unsorted array of integers, find the length of the longest consecutive elements sequence.
For example,
Given [100, 4, 200, 1, 3, 2]
,
The longest consecutive elements sequence is [1, 2, 3, 4]
. Return its length: 4
.
Your algorithm should run in O(n) complexity.
常考题目
java
public class Solution { /* * @param num: A list of integers * @return: An integer */ public int longestConsecutive(int[] nums) { // write your code here if (nums == null || nums.length == 0) { return 0; } if (nums.length == 1) { return 1; } Set<Integer> set = new HashSet<>(); for (int i : nums) { set.add(i); } int item = 0; int max = 0; for (int ele : nums) { set.remove(ele); int prev = ele - 1; int next = ele + 1; while (set.contains(prev)) { set.remove(prev); prev--; } while (set.contains(next)) { set.remove(next); next++; } max = Math.max(max, next - prev - 1); } return max; }}
python
class Solution: """ @param: num: A list of integers @return: An integer """ def longestConsecutive(self, nums): # write your code here if nums is None or len(nums) == 0: return -1 if len(nums) == 1: return 1 s, maxvalue = set(), 0 for ele in nums: s.add(ele) for ele in nums: if ele in s: s.remove(ele) Mprev = ele - 1 Mnext = ele + 1 while Mprev in s: s.remove(Mprev) Mprev -= 1 while Mnext in s: s.remove(Mnext) Mnext += 1 maxvalue = max(maxvalue, Mnext - Mprev - 1) else: continue return maxvalue
阅读全文
0 0
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- Leetcode : Longest Consecutive Sequence
- [Leetcode] Longest Consecutive Sequence
- longest consecutive elements sequence
- [leetcode] longest consecutive sequence
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- 【leetcode】Longest Consecutive Sequence
- LeetCode - Longest Consecutive Sequence
- [LeetCode]Longest Consecutive Sequence
- leetcode:Longest Consecutive Sequence
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- [Leetcode]Longest Consecutive Sequence
- [leetcode]Longest Consecutive Sequence
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- 基因的庇护 (AC自动机 dp)
- 24点游戏
- Leetcode 1.Two Sum(java版)
- div中使用背景图片
- 完整购物车
- Longest Consecutive Sequence
- 设计模式-结构模式之Facade
- IC射频笔记之——双电容输出匹配好处+最佳带宽取值
- 拦截导弹
- 实现TabLayout+ViewPager+Fragment头目的联动模式
- python函数的返回值
- OKHttp单例模式
- linux——文件归档及文件传输
- Java基础——Object