/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize){
int minSize = nums1Size < nums2Size ? nums1Size:nums2Size;
int *result = (int*)malloc(sizeof(int)*minSize);
int resultSize = 0;
int table[1005];
memset(table,0,sizeof(table));
for(int i = 0;i < nums1Size;i++){
table[nums1[i]] = 1;
}
for(int i = 0;i < nums2Size;i++){
if(table[nums2[i]] == 1){
result[resultSize++] = nums2[i];
table[nums2[i]] = 0;
}
}
*returnSize = resultSize;
return result;
}
打卡.349. 两个数组的交集
最新推荐文章于 2024-10-02 23:40:03 发布
该代码实现了一个函数,它接收两个整数数组nums1和nums2以及它们的大小,然后返回一个动态分配的数组,包含两数组的交集。使用哈希表存储nums1的元素,然后遍历nums2,检查元素是否在哈希表中,将交集元素存入结果数组。
摘要由CSDN通过智能技术生成