好奇心来源于下面的一段代码, 一个是unordered_map, 这是c++11新加的container. 另外还有unordered_set, unordered_multimap, unordered_multiset.
另外在for循环中, 可以使用下列形式:
for (auto &element : container) {
std::cout << element << std::endl;
}
还有一点就是变量的初始化, 请注意: int maxlen{1}; 这也是c++11的新特性...
使g++支持c++11可以加编译选项 -std=c++0x 这里0x就是11的draft(暂时不懂什么意思这句话2333)
#include <unordered_map>
#include <algorithm>
class Solution {
public:
int longestConsecutive(vector<int> &num) {
if (num.size() == )
return ;
unordered_map<int, int> uii;
int maxlen{};
for (auto &val: num) {
if (uii[val] != ) {
continue;
}
uii[val] = ;
int leftbound{uii[val-]}, rightbound{uii[val+]};
uii[val-leftbound] = uii[val+rightbound] = +leftbound+rightbound;
maxlen = max(maxlen, +leftbound+rightbound);
}
return maxlen;
}
};