zoukankan      html  css  js  c++  java
  • 128. Longest Consecutive Sequence(js)

    128. Longest Consecutive Sequence

    Given an unsorted array of integers, find the length of the longest consecutive elements sequence.

    Your algorithm should run in O(n) complexity.

    Example:

    Input: [100, 4, 200, 1, 3, 2]
    Output: 4
    Explanation: The longest consecutive elements sequence is [1, 2, 3, 4]. Therefore its length is 4.
    题意:给定一个数字数组,求最长的连续数字的长度
    代码如下:
    /**
     * @param {number[]} nums
     * @return {number}
     */
    var longestConsecutive = function(nums) {
        
            let res=0;
            let map={};
            for(let item of nums){
    //             出现重复,跳过
                if(map[item]){
                   continue; 
                }else{
                    let left=map[item-1]?map[item-1]:0;
                    let right=map[item+1]?map[item+1]:0;
                    
                    let sum=left+right+1;
                    map[item]=sum;
                    res=Math.max(res,sum);
    //                 确保相邻的每个数的个数都相等
                    map[item-left]=sum;
                    map[item+right]=sum;
                }
            }
            return res;
    };
  • 相关阅读:
    12306-单
    12306-票
    12306-车
    12306-人
    12306-目录
    a+=b 是什么意思?
    开启hadoop和Hbase集群的lzo压缩功能(转)
    HBase性能优化方法总结(转)
    Spark向HDFS中存储数据
    Spark从HDFS上读取JSON数据
  • 原文地址:https://www.cnblogs.com/xingguozhiming/p/10915374.html
Copyright © 2011-2022 走看看