349. 两个数组的交集 By C

给定两个数组,编写一个函数来计算它们的交集。

示例 1:

输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2]
示例 2:

输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]
说明:

输出结果中的每个元素一定是唯一的。
我们可以不考虑输出结果的顺序。

/**
 * Return an array of size *returnSize.
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize) {
    int k=0;
    int *p = (int*)malloc(sizeof(int) * (nums1Size<=nums2Size?nums2Size:nums1Size));
    for(int i=0;i

于我而言,难点在于输出的结果要求不重复,学过数据结构有哈希表可以使用。而这个代码用了个if选择,可以起到同样的作用。

你可能感兴趣的:(349. 两个数组的交集 By C)