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        


原创粉丝点击