1 | std:unordered_map<int,int> map; |
1 | unordered_map<int,int> map; |
Q: 在这边 map.insert(pair<int,int>(nums[i],i)); 可以换成 map.insert(unordered_map<int,int>(nums[i],i));吗
A: 不可以,因为 std::unordered_map
是一个关联容器,其中的元素是键值对(key-value pair),而 unordered_map<int,int>(nums[i], i)
是一个无序键值对,不能直接用来插入到 std::unordered_map
容器中。
在这个例子中,我们需要将每个元素的值 nums[i]
和下标 i
插入到 map
中,以便在后续查找过程中能够快速找到匹配的元素。因此,我们需要使用 std::pair<int, int>
类型来表示每个元素的键值对,然后将其插入到 map
中。
在代码中,map.insert(pair<int, int>(nums[i], i));
表示将一个由 nums[i]
和 i
组成的键值对插入到 map
中。这里使用了 std::pair<int, int>
类型来表示键值对,从而可以将其作为 map
的元素插入到容器中。
需要注意的是,C++ 中提供了很多种容器类型,每种容器类型都有其特定的用途和特性。在使用容器时,需要根据具体情况选择合适的容器类型,并了解容器类型的特性和使用方法,以提高代码的效率和可读性。