哈希表
哈希表是根据键码的值直接访问数据的数据结构。常用的数组就是哈希表,哈希表中的键码就是数组的索引下标,通过下标可直接访问数组中的元素。
LeetCode349. 两个数组的交集
题目描述:给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
示例 2:
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
解释:[4,9] 也是可通过的
C++代码
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_set<int> result_set;
unordered_set<int> num_set(nums1.begin(), nums1.end());
for (int num : nums2) {
if (num_set.find(num) != num_set.end()) {
result_set.insert(num);
}
}
return vector<int> (result_set.begin(), result_set.end());
}
};
文章讲述了如何利用哈希表,特别是C++中的unordered_set,来解决LeetCode中的一个问题——找出两个整数数组的交集。通过将一个数组的所有元素存入哈希表,然后遍历另一个数组,检查元素是否在哈希表中,从而高效地找到交集元素。
398

被折叠的 条评论
为什么被折叠?



