leetcode Longest Consecutive Sequence
来源:互联网 发布:linux网站管理系统 编辑:程序博客网 时间:2024/04/29 18:21
题意:给定一个整数数组,找出数组中最长的连续整数。时间要求是O(n)。
思路:一看时间复杂度要求就想到了hash,第一次先进行初始化操作,时间复杂度为O(n),然后遍历查找,时间复杂度以为O(n),在c++中利用了STL模板unordered_sort,类似于hash。喜欢的同学可以自己查找一下。
代码实现:
class Solution {public: int longestConsecutive(vector<int> &num) { // Start typing your C/C++ solution below // DO NOT write int main() function int len = num.size(); if(0 == len) { return 0; } unordered_set<int> temp; for(int i = 0; i < len; ++i) { temp.insert(num[i]); } int ans = 0; for(int i = 0; i < len; ++i) { int cur = num[i]; int cnt = 0; if(temp.find(cur) != temp.end()) { temp.erase(cur); cnt ++; cnt += getCount(temp, cur + 1, true); cnt += getCount(temp, cur - 1, false); ans = max(ans, cnt); } } return ans; } int getCount(unordered_set<int> &temp, int num, bool dir) { int cnt = 0; while(temp.find(num) != temp.end()) { temp.erase(num); cnt ++; if(dir) { num ++; } else { num --; } } return cnt; }};
- Leetcode : Longest Consecutive Sequence
- [Leetcode] Longest Consecutive Sequence
- [leetcode] longest consecutive sequence
- 【leetcode】Longest Consecutive Sequence
- LeetCode - Longest Consecutive Sequence
- [LeetCode]Longest Consecutive Sequence
- leetcode:Longest Consecutive Sequence
- [Leetcode]Longest Consecutive Sequence
- [leetcode]Longest Consecutive Sequence
- leetcode Longest Consecutive Sequence
- Leetcode: Longest Consecutive Sequence
- LeetCode:Longest Consecutive Sequence
- [leetcode] Longest Consecutive Sequence
- LeetCode-Longest Consecutive Sequence
- LeetCode - Longest Consecutive Sequence
- [LeetCode] longest consecutive sequence
- LeetCode | Longest Consecutive Sequence
- [leetcode]Longest Consecutive Sequence
- qt中关于QWidget的背景颜色和背景图片的设置
- Error using the Generate WSDL Button in Oracle E-Business Suite Integrated Soa Gateway Release 12.1
- Http协议基础
- Ubuntu 12.04 中安装和配置 Java JDK
- iOS中removeFromSuperview不起作用的问题
- leetcode Longest Consecutive Sequence
- 利用flexpaper开发类似百度文库功能,在线浏览WORD文档
- Android4.0.3访问webservice报错
- Linux 下多核CPU相关知识
- 常见字符集简介
- 关于struts企业级配置
- Android平台基于Pull方式对XML文件解析及写入
- Ubuntu下,使用ls命令显示文件颜色相关内容及修改
- mysql 建表字符集