博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode——Longest Consecutive Sequence
阅读量:5919 次
发布时间:2019-06-19

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

Longest Consecutive Sequence

补充一些map的使用方法

begin,end,rbegin,rend。empty,clear,size。max_size 八个经常使用的函数.

map.begin(); 是map的起始位置

map.end(); 是指map的尾部,没有实际元素.

map.find(); 查找函数

map.rebgin()和.rend()是反向遍历数据的起始位置和终止位置

map.empty() 推断map是否为空

map.clear() 清空map

map.size() 返回元素的数目

map.max_size() 仅仅是一个容器的大小限定。

决于 key Value所占字节比較大的一个。然后用4个字节的数字(unsigned_int_max=40亿左右) 除以2除以 所占字节就是这个值了。

另外:

unordered_map 的元素不以键值或映射的元素作不论什么特定的顺序排序

unordered_map 容器比map容器更快地通过键值訪问他们的单个元素

插入:

插入有三种方式,第一种:insert(pair

iterator:

map
_map;map
::iterator iter;for(iter = _map.begin() ; iter != _map.end() ; ++iter){ cout<
first<<" "<
second<

题解 Longest Consecutive Sequence

题目:

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.

思路:

用一个哈希表 unordered_map

C++代码:

#include 
#include
#include
using namespace std;class Solution{ public: int longestConsecutive(const vector
&num) { unordered_map
used; for (int i:num) used[i] = false; int longest = 0; for (int i:num) { if (used[i]) continue; //结束本次循环 int length = 1; used[i] = true; for (int j = i+1; used.find(j)!=used.end(); ++j){ used[j] = true; ++length; } for (int j = i-1; used.find(j)!=used.end(); --j){ used[j] = true; ++length; } longest = max(longest, length); } return longest; }};int main(int argc, char *argv[]) { int arr[] = {
100,4,200,1,3,2}; vector
vec(&arr[0],&arr[6]); Solution s; int result = s.longestConsecutive(vec); printf("%d",result);}

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

你可能感兴趣的文章
单机版solr6.3.0部署,启动
查看>>
Android adb远程无法连接的问题
查看>>
MyISAM和InnoDB的区别
查看>>
Session && Cookie
查看>>
.tar.xz文件的解压
查看>>
115个Java面试题和答案——终极列表(上)
查看>>
Mysql-索引-BTree类型
查看>>
微软JavaScript和CSS压缩器AjaxMinifier
查看>>
寄生 视频,
查看>>
Linux软RAID的技术概要及实现
查看>>
Laravel4.1数据库 数据库填充(六)
查看>>
mybatis学习笔记(5)-SqlMapConfig
查看>>
tomcat出配置修改
查看>>
利用属性值代替全局变量
查看>>
Conversion of Oracle TO_CHAR(datetime) with format string to MySQL
查看>>
sql索引的优缺点
查看>>
聚类算法之单链接算法java实现
查看>>
如果repo连接不上gerrit.googlesource.com的时候,你还有其他选择
查看>>
如何设计一个 iOS 控件?(iOS 控件完全解析)
查看>>
浅谈haskell中Functor typeclass和普通typeclasses的区别
查看>>