打卡.349. 两个数组的交集

该代码实现了一个函数,它接收两个整数数组nums1和nums2以及它们的大小,然后返回一个动态分配的数组,包含两数组的交集。使用哈希表存储nums1的元素,然后遍历nums2,检查元素是否在哈希表中,将交集元素存入结果数组。
摘要由CSDN通过智能技术生成

在这里插入图片描述

/**
 * 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;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值