美文网首页
349. 两个数组的交集

349. 两个数组的交集

作者: chip1234 | 来源:发表于2021-01-08 00:29 被阅读0次
    image.png
    // C
    #include <stdio.h>
    #include <stdlib.h>
    
    int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize)
    {
        if((nums1Size <= 0) || (nums2Size <= 0)) {
            *returnSize = 0;
            return NULL;
        }
        int hash[10000] = {0};
        for(int i = 0; i < nums1Size; i++) {
            hash[nums1[i]] = 1;
        }
        int arr[1000];
        int cnt = 0;
        for(int j = 0; j < nums2Size;j++) {
            if(hash[nums2[j]] == 1){
                arr[cnt] = nums2[j];
                cnt++;
                hash[nums2[j]] = 0;
            }
        }
        *returnSize = cnt;
        int *res = (int* )malloc(sizeof (int) * cnt);
        for(int m = 0; m < cnt; m++) {
            res[m] = arr[m];
        }
        return res;
    }
    
    int main(void)
    {
        int nums1[] = {1,8,2,1};
        int nums2[] = {2,8};
        int ret = 0;
        int* retArr = malloc(1000);
         retArr = intersection(nums1,sizeof(nums1)/sizeof(nums1[0]),nums2,sizeof (nums2)/sizeof (nums2[0]),&ret);
        for(int i = 0; i < ret; i ++){
            printf("%d ", *(retArr+i));
         }
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:349. 两个数组的交集

          本文链接:https://www.haomeiwen.com/subject/hahxaktx.html