我直接都用set不就得了,用什么数组啊
时间: 2024-04-12 12:32:33 浏览: 120
vue.js中$set与数组更新方法
是的,你完全可以使用 `set` 来实现这个功能,而不必使用数组和哈希表。`set` 是一种有序且不重复的容器,适合用于存储集合元素,并提供高效的查找操作。
下面是使用 `set` 实现的修改后的代码示例:
```cpp
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_set<int> result_set; // 存放结果
unordered_set<int> nums_set(nums1.begin(), nums1.end());
for (int num : nums2) {
// 发现nums2的元素在nums_set里又出现过
if (nums_set.find(num) != nums_set.end()) {
result_set.insert(num);
}
}
return vector<int>(result_set.begin(), result_set.end());
}
};
```
在这个示例中,我们仍然使用了 `unordered_set` 来存储 `nums1` 的元素,以便快速进行查找操作。最后,我们将 `result_set` 转换为 `vector` 并返回结果。
使用 `set` 可以更加简洁地实现集合的交集操作,并且在某些情况下可能具有更好的性能。但请注意,`set` 会对元素进行排序,这可能会导致最终结果的顺序与原始数组的顺序不同。如果你需要保持原始数组的顺序,可以考虑使用 `unordered_set` 或其他方法来解决。
阅读全文