Выполняя некоторый тест на веб-сайте с вызовом алгоритма, я столкнулся с этой проблемой, когда мой std::unordered_set
(несколько незначительно) замедлял меня при использовании init на основе диапазона:
void test(vector<int>& nums1) {
unordered_set<int> set1(nums1.begin(), nums1.end());
}
Медленнее
vector<int> test(vector<int>& nums1) {
unordered_set<int> set1;
for (auto num : nums1) {
set1.insert(num);
}
}
Как это объяснить?