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

    原题链接在这里:https://leetcode.com/problems/longest-consecutive-sequence/

    题目:

    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.

    题解:

    用HashSet把所有点放入hs中.

    在从头逐个检查是否包含这个点,若是包含,就看它往下能走多远,然后看往上能走多远,走过的点从hs中移除,维护最大值。

    Time Complexity: O(n). Space O(n).

    AC Java:

     1 public class Solution {
     2     public int longestConsecutive(int[] nums) {
     3         if(nums == null || nums.length == 0){
     4             return 0;
     5         }
     6         HashSet<Integer> set = new HashSet<Integer>();
     7         for(int num : nums){
     8             set.add(num);
     9         }
    10         
    11         int res = 0;
    12         for(int num : nums){
    13             if(set.contains(num)){
    14                 int count = 1;
    15                 set.remove(num);
    16                 
    17                 //check how many nodes are there in lower branch
    18                 int low = num-1;
    19                 while(set.contains(low)){
    20                     count++;
    21                     set.remove(low);
    22                     low--;
    23                 }
    24                 
    25                 //check how many nodes are there in higher branch
    26                 int high = num+1;
    27                 while(set.contains(high)){
    28                     count++;
    29                     set.remove(high);
    30                     high++;
    31                 }
    32                 
    33                 res = Math.max(res, count);
    34             }
    35         }
    36         return res;
    37     }
    38 }

     类似Binary Tree Longest Consecutive Sequence.

  • 相关阅读:
    spin_count
    not in改写关联无需考虑重复数据
    substr函数
    Flex样式-ToolTip篇
    Flex样式-ProgressBar篇
    Flex样式-MenuBar篇
    Flex样式-DataGrid篇
    Flex样式-ColorPicker篇
    FireBug之Console命令大全
    Flex样式-VSlider篇
  • 原文地址:https://www.cnblogs.com/Dylan-Java-NYC/p/4888868.html
Copyright © 2011-2022 走看看