下面是leetcode的一段代码,我想知道第二行是什么意思。我从未见过这种初始化集。有人能帮忙吗?谢谢!
bool containsDuplicate(vector<int>& nums) {
unordered_set<int> s (nums.begin(), nums.end());
return s.size()!=nums.size();
}
最佳答案
unordered_set<int> s (nums.begin(), nums.end());
这通过在指定的 vector
上迭代来初始化集合,从 vector 的开头开始迭代直到到达结尾,调用 s.insert(theVal)
对于 vector
中的每个 int
。
return s.size()!=nums.size();
由于 unordered_set
本质上不允许集合中存在任何重复的键(即尝试将键插入集合,而该键已经是集合的成员, 根本不会修改集合), 那么我们知道如果集合的最终大小小于输入 vector 的大小, 则输入 vector 中必须至少有一个重复值。
关于c++ - C++中的unordered_set是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52637750/