Leetcode:Longest Consecutive Sequence

来源:互联网 发布:音乐修改软件 编辑:程序博客网 时间:2024/05/22 04:26

URL

https://leetcode.com/problems/longest-consecutive-sequence/description/

描述

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.

代码示例

public int longestConsecutive(int[] nums) {        Set<Integer> set = new HashSet<>();        for(int num:nums){            set.add(num);        }        int max = 0;        int sum = 0;        int cur;        for(int num:nums){            sum = 0;            if(set.remove(num)){                sum++;                cur = num;                while(set.remove(--cur)){                    sum++;                }                cur = num;                while(set.remove(++cur)){                    sum++;                }                max = Math.max(max,sum);            }        }        return max;    }
原创粉丝点击