博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Longest Consecutive Sequence 最长连续子序列
阅读量:4108 次
发布时间:2019-05-25

本文共 1078 字,大约阅读时间需要 3 分钟。

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.

解答:

哈希 空间换时间

代码:

class Solution {public:    map
mp; int longestConsecutive(vector
&num) { int i, j; for(i = 0; i < num.size(); i++) mp[num[i]] = 1; int max = 0; for(i = 0; i < num.size(); i++) { int sum = 1; if(mp.count(num[i])){ mp[num[i]] = 0; int left = num[i] -1; while(mp.count(left) && mp[left] != 0) { mp[left--] = 0; sum++; } int right = num[i] + 1; while(mp.count(right) && mp[right] != 0){ mp[right++] = 0; sum++; } } if(max < sum) max = sum; } return max; }};

转载地址:http://yutsi.baihongyu.com/

你可能感兴趣的文章
C#中ColorDialog需点两次确定才会退出的问题
查看>>
16、Memento 备忘录模式
查看>>
Java基础篇(一)
查看>>
数据库
查看>>
mysql update与group by
查看>>
nginx反代 499 502 bad gateway 和timeout
查看>>
linux虚拟机安装tar.gz版jdk步骤详解
查看>>
python猜拳游戏
查看>>
python实现100以内自然数之和,偶数之和
查看>>
python数字逆序输出及多个print输出在同一行
查看>>
ESP8266 WIFI数传 Pixhaw折腾笔记
查看>>
苏宁产品经理面经
查看>>
百度产品经理群面
查看>>
去哪儿一面+平安科技二面+hr面+贝贝一面+二面产品面经
查看>>
element ui 弹窗在IE11中关闭时闪现问题修复
查看>>
vue 遍历对象并动态绑定在下拉列表中
查看>>
Vue动态生成el-checkbox点击无法选中的解决方法
查看>>
python __future__
查看>>
MySQL Tricks1
查看>>
python 变量作用域问题(经典坑)
查看>>