解释for (int num : nums2) { if (m.count(num)) { intersection.push_back(num); --m[num]; if (m[num] == 0) { m.erase(num); } } } return intersection; }
时间: 2023-05-28 08:07:39 浏览: 130
这段代码是一个函数,输入参数为两个整数数组nums1和nums2。函数的作用是找出两个数组中的公共元素,并将结果保存在一个新的数组intersection中,最后返回intersection。
具体实现是通过unordered_map(哈希表)来统计nums1数组中每个元素的出现次数,然后遍历nums2数组,对于其中的每个元素num,如果在哈希表中存在,则说明是公共元素,将其加入intersection中,同时将哈希表中该元素的出现次数减1,如果减1后该元素的出现次数变为0,则将其从哈希表中删除。最后返回intersection即可。
阅读全文