109_leetcode_Longest Consecutive Sequence
来源:互联网 发布:reminders mac 红点1 编辑:程序博客网 时间:2024/05/03 18:10
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.
1:使用unordered_set ;2:插入数据和寻找数据;3:删除数据;4:查找每一个数字左右两边的数字的个数来判断连续的最大值int longestConsecutive(vector<int> &num) { int size = (int)num.size(); if(size <= 1) { return size; } int maxValue = 0; unordered_set<int> mySet; for(int i = 0; i < size; i++) { mySet.insert(num[i]); } int count = 0; for(int i = 0; i < size; i++) { int curNumber = num[i]; unordered_set<int> ::iterator itr = mySet.find(curNumber); if(itr != mySet.end()) { count = 1; mySet.erase(itr); int leftNumber = num[i]-1; itr = mySet.find(leftNumber); while(itr != mySet.end()) { mySet.erase(itr); count++; leftNumber--; itr = mySet.find(leftNumber); } int rightNumber = curNumber + 1; itr = mySet.find(rightNumber); while(itr!= mySet.end()) { mySet.erase(itr); count++; rightNumber++; itr = mySet.find(rightNumber); } if(count > maxValue) { maxValue = count; } } } return maxValue; }
0 0
- 109_leetcode_Longest Consecutive Sequence
- Longest Consecutive Sequence
- leetcode_Longest Consecutive Sequence
- Longest Consecutive Sequence
- Leetcode : Longest Consecutive Sequence
- [Leetcode] Longest Consecutive Sequence
- longest consecutive elements sequence
- [leetcode] longest consecutive sequence
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- 【leetcode】Longest Consecutive Sequence
- LeetCode - Longest Consecutive Sequence
- [LeetCode]Longest Consecutive Sequence
- leetcode:Longest Consecutive Sequence
- Longest Consecutive Sequence
- Longest Consecutive Sequence
- [Leetcode]Longest Consecutive Sequence
- [leetcode]Longest Consecutive Sequence
- 算法学习-数据结构-堆模板
- C语言入门(5)——运算符与表达式
- Android ListView OnItemClickListener事件不执行的解决办法
- PHP 中四舍五入函数
- BT雷人的程序语言
- 109_leetcode_Longest Consecutive Sequence
- 浅谈Hibernate和Ibatis区别
- AndroidManifest.xml文件详解(service)
- leetcode 144: Evaluate Reverse Polish Notation
- 黑马程序员java基础不得不了解的细碎知识
- 黑马程序员_反射、内省、泛型
- Android下Listview的onItemClick以及onItemLongClick
- Permutations
- IOS开发之格式化日期时间