美文网首页
最长连续序列的长度

最长连续序列的长度

作者: Mahon | 来源:发表于2020-04-16 21:44 被阅读0次

一个无序正整数数组,求数组中最长连续序列的长度,时间复杂度越简单越好示例Input: [100, 4, 200, 5, 3, 2] 无序整数数组Output: 4 (最长连续序列[2, 3, 4, 5]的长度)

/**

* *****************************************************

* Copyright (C) 2020 bytedance.com. All Rights Reserved

* This file is part of bytedance EA project.

* Unauthorized copy of this file, via any medium is strictly prohibited.

* Proprietary and Confidential.

* ****************************************************

**/

package com.bytedance.p2pshopsystemservice.product;

import java.util.HashMap;

/**

* Test

*

* @author maoyong

* @date 04/16/2020 20:12

*/

public class TestMahon {

public int longestConsecutive(int[] nums) {

int max =0;

        HashMap map =new HashMap();

        for(int i: nums){

//判断是否存在,解决存在重复数据问题

            if(map.getOrDefault(i,0)==0){

int left = map.getOrDefault(i-1,0);

                int right = map.getOrDefault(i+1,0);

                //临时最大sum数据 左边+右边+1  就算左/右为0不影响

                int tempCount =1+left+right;

                //每次更新,左 中 右的 sum数据

                map.put(i,tempCount);

                if(left!=0){

map.put(i-left,tempCount);

                }

if(right !=0){

map.put(i+right,tempCount);

                }

max = Math.max(max,tempCount);

            }

}

return max;

    }

public static void main(String[] args) {

TestMahon t =new TestMahon();

        //100, 4, 200, 5, 3, 2

        int[] nums =new int[]{100, 4, 200, 5, 3, 2};

        System.out.println(t.longestConsecutive(nums));

    }

}


相关文章

  • 最长连续序列的长度

    一个无序正整数数组,求数组中最长连续序列的长度,时间复杂度越简单越好示例Input: [100, 4, 200, ...

  • LeetCode刷题之路 最长连续序列

    最长连续序列【困难】 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例...

  • LeetCode 128. 最长连续序列 | Python

    128. 最长连续序列 题目 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)...

  • 128. 最长连续序列

    128. 最长连续序列 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示...

  • dp经典问题

    1. 最长子序列问题 最长上升不连续子序列 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入:...

  • 动态规划设计

    1. 最长子序列问题 最长上升不连续子序列 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入:...

  • LeetCode: 最长连续序列

    最长连续序列(困难) 题目叙述: 给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n...

  • Python算法之旅元组的风暴之最长连续递增序列

    元组的风暴之最长连续递增序列 小美:前几天老师布置了一道题目:求最长连续递增子序列的长度。我感觉题目并不难,很快就...

  • 最长的连续元素序列的长度

    题目描述 给定一个无序的整数类型数组,求最长的连续元素序列的长度。例如:给出的数组为[100, 4, 200, 1...

  • 动态规划(六)

    最长上升子序列 给定一个整数序列,求,其中最长上升子序列长度。(不要求子序列一定是连续的,只要相对位置不变即可)[...

网友评论

      本文标题:最长连续序列的长度

      本文链接:https://www.haomeiwen.com/subject/yjrqeqtx.html