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.
The key point is that for each number say Val in the array, we only need to determine whether its neighbor (Val-1 and Val+1) is in the array and for a consecutive sequence we only need to know the the boundary and the length information。
class Solution {
public:
    int longestConsecutive(vector<int> &num) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        int size = num.size();
        if(size < ) return size;
        map<int, int> myMap;
        for(int i = ; i< num.size(); i++)
             myMap.insert(pair<int, int>(num[i],));
        int maxLen = ;
        map<int, int>::iterator m_it;
        map<int, int>::iterator temp_it;
        for(m_it = myMap.begin(); m_it != myMap.end();m_it++)
        {
            if(m_it->second == ) continue;
            int len = ;
            int low = m_it->first;
            int high = low;
            while(true)
            {
              temp_it= myMap.find(low-);
              if(temp_it == myMap.end())
                break;
              low--;
              len++;
              temp_it->second = ;
            }
            while(true)
            {
                 temp_it=   myMap.find(high+) ;
                 if(temp_it == myMap.end())
                break;
                high++;
                len++ ;
                temp_it->second = ;
            }
            maxLen = maxLen < len ? len : maxLen ; 
        }
        return maxLen ;
    }
};
LeetCode_Longest Consecutive Sequence的更多相关文章
- [LeetCode] Binary Tree Longest Consecutive Sequence 二叉树最长连续序列
		Given a binary tree, find the length of the longest consecutive sequence path. The path refers to an ... 
- [LeetCode] Longest Consecutive Sequence 求最长连续序列
		Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ... 
- Binary Tree Longest Consecutive Sequence
		Given a binary tree, find the length of the longest consecutive sequence path (连续的路径,不是从小到大). The pa ... 
- 【leetcode】Longest Consecutive Sequence(hard)☆
		Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ... 
- 128. Longest Consecutive Sequence(leetcode)
		Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ... 
- [LintCode] Longest Consecutive Sequence 求最长连续序列
		Given an unsorted array of integers, find the length of the longest consecutive elements sequence. H ... 
- LeetCode Binary Tree Longest Consecutive Sequence
		原题链接在这里:https://leetcode.com/problems/binary-tree-longest-consecutive-sequence/ 题目: Given a binary t ... 
- 24. Longest Consecutive Sequence
		Longest Consecutive Sequence Given an unsorted array of integers, find the length of the longest con ... 
- 【leetcode】Longest Consecutive Sequence
		Longest Consecutive Sequence Given an unsorted array of integers, find the length of the longest con ... 
随机推荐
- SQL Server 性能优化之——重复索引
			原文 http://www.cnblogs.com/BoyceYang/archive/2013/06/16/3139006.html 阅读导航 1. 概述 2. 什么是重复索引 3. 查找重复索引 ... 
- JAVASCRIPT实现XML分页
			为了方便用户查看大批量数据,我们会用到动态分页,因此分页功能是我们在网站上见过的最普遍也是最常用的一个功能模块了.而以往的信息分页都是连接到数据库的,每一次点击都必须要后台数据库的支持.这样不但服务器 ... 
- Java数据结构: java.util.BitSet源码学习
			接着上一篇Blog:一道面试题与Java位操作 和 BitSet 库的使用,分析下Java源码中BitSet类的源码. 位图(Bitmap),即位(Bit)的集合,是一种常用的数据结构,可用于记录大量 ... 
- windows phone之获取当前连接WIFI的SSID
			public string GetSSIDName() { foreach (var network in new NetworkInterfaceList()) { if ( (network.In ... 
- Hdu5381-The sum of gcd(莫队)
			题意我就不说了 解析: 莫队,先预处理出以i为右端点的区间的gcd值,有一些连续的区间的gcd值是相同的,比如[j,i],[j+1,i],[j+2,i]的gcd值是相同的,我们可以把[j,j+2] ... 
- 再造轮子之网易彩票-第二季(IOS 篇 by sixleaves)
			02-彩票项目第二季 2.封装SWPTabBar方式一 接着我们思考如何进行封装.前面已经将过了为什么要封装, 和封装达到的效果.这里我们主要有两种封装方式,分别是站在不同的角度上看待问题.虽然角度不 ... 
- Colorful Lecture Note(手工栈)
			题目1 : Colorful Lecture Note 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi is writing an algorithm ... 
- 高仿拉手网底部菜单实现FragmentActivity+Fragment+RadioGroup
			先把欢迎页和引导页的代码上传了http://download.csdn.net/detail/u013134391/7183787不要积分的. 底部菜单条实如今4.0曾经都是用tabhost.如今基本 ... 
- 编程算法 - 圆圈中最后剩下的数字(递推公式) 代码(C++)
			圆圈中最后剩下的数字(递推公式) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 0,1...,n-1这n个数字排成一个圆圈, 从数字0開始 ... 
- docker四种网络模式
			1,host模式 启动容器时,添加参数--net=host 此模式和宿主机使用的是同1个ip,适合上网. 2,container模式 启动容器时,添加参数--net=container,docker ... 
