leetcode_question_128 Longest Consecutive Sequence
来源:互联网 发布:apache ip访问 编辑:程序博客网 时间:2024/06/03 05:33
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.
hash_map: O(n)
int longestConsecutive(vector<int> &num) { // Start typing your C/C++ solution below // DO NOT write int main() function hash_map<int,int> hm;vector<int>::iterator it = num.begin();for(; it != num.end(); ++it)hm[*it]=1;int max = 0;it = num.begin();for(; it != num.end(); ++it){int times = 0;int tmp = *it;hash_map<int,int>::iterator hmit;hmit = hm.find(tmp);while(hmit != hm.end()){++times;hm.erase(hmit);hmit = hm.find(--tmp);}tmp = *it;hmit = hm.find(++tmp);while(hmit != hm.end()){++times;hm.erase(hmit);hmit = hm.find(++tmp);}if(times > max) max = times;}return max; }
排序:O(nlogn)
int longestConsecutive(vector<int> &num) { // Start typing your C/C++ solution below // DO NOT write int main() function int length = num.size(); if(length < 2) return length;set<int> st;for(int i = 0; i < length; ++i)st.insert(num[i]);set<int>::iterator it = st.begin();int max = 1;int tmpnum = *it;int len = 1;for(++it; it != st.end(); ++it){if(*it == ++tmpnum)++len;else{if(len > max) max = len;len = 1;}tmpnum = *it;} if(len > max) max = len;return max; }
- leetcode_question_128 Longest Consecutive Sequence
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- Leetcode : Longest Consecutive Sequence
- [Leetcode] Longest Consecutive Sequence
- longest consecutive elements sequence
- [leetcode] longest consecutive sequence
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- 【leetcode】Longest Consecutive Sequence
- LeetCode - Longest Consecutive Sequence
- [LeetCode]Longest Consecutive Sequence
- leetcode:Longest Consecutive Sequence
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- [Leetcode]Longest Consecutive Sequence
- [leetcode]Longest Consecutive Sequence
- Longest Consecutive Sequence
- dom 打印出xml中元素节点
- c语言 常用的库函数
- uva 1401 - Remember the Word(字典树)
- 阿里巴巴2010-2013校园招聘笔试题
- 关于指针
- leetcode_question_128 Longest Consecutive Sequence
- android 将文件存到SD卡上
- Linux netstat命令详解
- NHK SHV 的 22.2 声道音频系统
- Create Multiple IP Addresses to One Single Network Interface
- 火狐设置每次刷新重新请求
- Android Java 网络 OS等笔试题 -- 全
- VC 多线程编程
- VC++创建和调用动态库