给定两个数组,编写一个函数来计算它们的交集。
示例 1:
输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2]
示例 2:
输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [9,4]
说明:
思路:暴力法
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize){
int i,j,k;
int flag;
int *ret = malloc(sizeof(int) * (nums1Size > nums2Size ? nums1Size : nums2Size));
*returnSize = 0;
for(i = 0; i < nums1Size; i++) {
for(j = 0; j < nums2Size; j++) {
//printf("nums1[i=%d]%d nums2[j=%d]]%d\n",i,nums1[i],j,nums2[j]);
if(nums1[i] == nums2[j]) {
flag = 0;
for(k = 0; k < *returnSize; k++)
{
if(ret[k] == nums1[i])
flag = 1;
}
if(flag == 0) {
ret[*returnSize] = nums1[i];
(*returnSize)++;
}
}
}
}
return ret;
}