leetcode 128 —— Longest Consecutive Sequence
2015-08-12 14:51
696 查看
Given an unsorted array of integers, find the length of the longest consecutive elements sequence.
For example,
Given
The longest consecutive elements sequence is
Your algorithm should run in O(n) complexity.
思路:使用unordered_set 记录所有点,然后往往两边搜索class Solution {
public:
int longestConsecutive(vector<int>& nums) {
unordered_set<int> iSet;
int maxLen = 0;
for (int i = 0; i < nums.size(); i++) //将所有情况存入set
iSet.insert(nums[i]);
for (int i = 0; i < nums.size(); i++){
int cnt = 1;
if (iSet.count(nums[i]) == 0)
continue;
int j = 1; //往两边搜索,并把搜到的从原set里删除
while (iSet.count(nums[i] - j)>0){
iSet.erase(nums[i] - j++);
cnt++;
}
j = 1;
while (iSet.count(nums[i] + j) > 0){
iSet.erase(nums[i] + j++);
cnt++;
}
maxLen = maxLen > cnt ? maxLen : cnt;
}
return maxLen;
}
};
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.
思路:使用unordered_set 记录所有点,然后往往两边搜索class Solution {
public:
int longestConsecutive(vector<int>& nums) {
unordered_set<int> iSet;
int maxLen = 0;
for (int i = 0; i < nums.size(); i++) //将所有情况存入set
iSet.insert(nums[i]);
for (int i = 0; i < nums.size(); i++){
int cnt = 1;
if (iSet.count(nums[i]) == 0)
continue;
int j = 1; //往两边搜索,并把搜到的从原set里删除
while (iSet.count(nums[i] - j)>0){
iSet.erase(nums[i] - j++);
cnt++;
}
j = 1;
while (iSet.count(nums[i] + j) > 0){
iSet.erase(nums[i] + j++);
cnt++;
}
maxLen = maxLen > cnt ? maxLen : cnt;
}
return maxLen;
}
};
相关文章推荐
- 利用xib自定义UITableViewCell,xib中的button不能响应点击事件
- scalatest的userguide
- UIAutomation使用测试入门
- android UI进阶之用ViewPager实现欢迎引导页面
- fuel-6.1 iso制作
- A implementaion for 2D blue noise
- IOS开发中实现UITableView按照首字母将集合进行检索分组
- 小技巧之巧利用identified by values重置用户密码
- 使用XIB拖出来的UIButton,selected状态下,button出现多余背景颜色
- iOS UI10_cell自适应高度
- LoadRunner录制脚本,报连接不到服务器的提示信息 :Request Connection: Remote Serve
- H264 primer - A layman’s guide - by KUSH AMERASINGHE
- iOS UI10_tableView的编辑
- iOS UI10_带分区的省市区
- Diesel engine genuinely is aware of which a excellent women enjoy
- UITableView取消选中的cell方法
- UE4 Particle System Reference
- UIButton 的图片自动拉伸
- IOS UIVIEW layer动画 总结
- [Erlang_Question21]Erlang性能分析工具eprof fporf的应用