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++ 中提供了很多种容器类型,每种容器类型都有其特定的用途和特性。在使用容器时,需要根据具体情况选择合适的容器类型,并了解容器类型的特性和使用方法,以提高代码的效率和可读性。
