当前位置:网站首页>349. 两个数组的交集

349. 两个数组的交集

2022-06-09 09:28:00 Mr Gao

349. 两个数组的交集

给定两个数组 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] 也是可通过的

这题其实也比较简单,我们设置一个辅助数组就可以解决问题:
解题代码如下:

/** * Note: The returned array must be malloced, assume caller calls free(). */
int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize){
    
   int* a=(int* )malloc(sizeof(int)*1000);
      int* b=(int* )malloc(sizeof(int)*1000);
   int i=0;
   for(i=0;i<1000;i++){
    
       a[i]=0;
   }
     for(i=0;i<nums1Size;i++){
    
       if(a[nums1[i]]==0){
    
           a[nums1[i]]=1;
       }
   }
   int p=0;
     for(i=0;i<nums2Size;i++){
    
       if(a[nums2[i]]==1){
    
           a[nums2[i]]++;
           b[p++]=nums2[i];
       }
   }
   *returnSize=p;
   return b;

}
原网站

版权声明
本文为[Mr Gao]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43327597/article/details/124963802