给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。
上代码
int* intersect(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize){
int table[1001];
int count=0;
int* ans=(int*)malloc(sizeof(int)*nums2Size);
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]]>0){
ans[count++]=nums2[i];
table[nums2[i]]-=1;
}
}
*returnSize=count;
return ans;
}
最悲催的一次
评论 (0)