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;
}
};

最新文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(54)-工作流设计-所有流程监控
  2. webpack初体验
  3. HTML5的属性
  4. iOS开发——高级篇——远程音频、视频播放
  5. 对客户推荐产品模型+python代码
  6. angularJS之事件处理
  7. 58.com qiyi
  8. 菜鸟教程之工具使用(十)——用BlazeMeter录制JMeter测试脚本
  9. new Date()的数据类型的问题
  10. linq to sql 博客集锦
  11. Hibernate 主键生成策略
  12. android——fragment详解
  13. css基础和心得(一)
  14. [JSOI 2008]最大数
  15. CVE-2018-20129:DedeCMS V5.7 SP2前台文件上传漏洞
  16. 如何随机排序数组?使用多种方式!递归,迭代,洗牌,sort方法!
  17. 3、springframe常用注解
  18. Python中文显示问题&amp;数据库连接传参
  19. 高通非adsp 架构下的sensor的bug调试
  20. 重温js之null和undefind区别

热门文章

  1. [转载]oracle 11g不能导出空表的多种解决方法
  2. int除以int 得到double类型值
  3. crontab 安装 和一些 简单的命令
  4. jQuery获取页面及个元素高度、宽度【转】
  5. c 函数及指针学习 9
  6. 转:bash: /dev/null: Permission denied
  7. HDU-1255 覆盖的面积 (扫描线)
  8. 黑马程序员——JAVA基础之简述集合collection
  9. 原版本的jquery 开发过程中发现jquery好像更新了
  10. 通知---iOS