128. Longest Consecutive Sequence
2024-09-13 22:15:23
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表,存储已经扫描的数组元素,
对数组中每一个curr元素,都必须在hash表中向前查找,向后查找,找出此nums[curr]过在连续数组。
maxlength = max(maxlength,length);
===
code:
class Solution {
public:
int longestConsecutive(vector<int>& nums) {
unordered_map<int,bool> hash_used;
for(auto i:nums){
hash_used[i] = false;
}
int longest = ;
for(auto i:nums){
if(hash_used[i])
continue;
int length = ; hash_used[i] = true; for(int j = i+;hash_used.find(j)!=hash_used.end();j++){
hash_used[j] = true;
length++;
}
for(int j = i-;hash_used.find(j)!=hash_used.end();j--){
hash_used[j] = true;
length++;
}
longest = max(longest,length);
}//for
return longest;
}
};
最新文章
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(54)-工作流设计-所有流程监控
- webpack初体验
- HTML5的属性
- iOS开发——高级篇——远程音频、视频播放
- 对客户推荐产品模型+python代码
- angularJS之事件处理
- 58.com qiyi
- 菜鸟教程之工具使用(十)——用BlazeMeter录制JMeter测试脚本
- new Date()的数据类型的问题
- linq to sql 博客集锦
- Hibernate 主键生成策略
- android——fragment详解
- css基础和心得(一)
- [JSOI 2008]最大数
- CVE-2018-20129:DedeCMS V5.7 SP2前台文件上传漏洞
- 如何随机排序数组?使用多种方式!递归,迭代,洗牌,sort方法!
- 3、springframe常用注解
- Python中文显示问题&;数据库连接传参
- 高通非adsp 架构下的sensor的bug调试
- 重温js之null和undefind区别