zoukankan      html  css  js  c++  java
  • [LeetCode] 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.

    Solution:

    class Solution {
    public:
        set<int> dataset;
        
        int continousLength(int number)
        {
            int len = 0, l = number, r = number + 1;
            set<int>::iterator itr;
            while((itr = dataset.find(l)) != dataset.end())
            {
                dataset.erase(itr);
                l--;
                len++;
            }
            while((itr = dataset.find(r)) != dataset.end())
            {
                dataset.erase(itr);
                r++;
                len++;
            }
            
            return len;
        }
        
        int longestConsecutive(vector<int> &num) {
            int MaxLen = 0; 
            dataset.clear();
            for(int i = 0 ; i < num.size() ; i++)
               dataset.insert(num[i]);
            
            for(int i = 0;i < num.size();i++)
                MaxLen = max(continousLength(num[i]), MaxLen);
            
            return MaxLen;
        }
    };
  • 相关阅读:
    json
    封装PDO
    PDO
    jquery练习
    jquery包
    jquery
    租房子 多条件查询
    查询
    新闻修改处理页面
    新闻添加数据
  • 原文地址:https://www.cnblogs.com/changchengxiao/p/3592504.html
Copyright © 2011-2022 走看看