349. 两个数组的交集
题目链接:力扣
使用算法-数组篇的线性枚举。
首先枚举 nums1
中数字必须在 nums2
中出现,然后加入到 answer
中,然后不能重复也需要判断一下。
总复杂度为 O ( n 2 ) O(n^2) O(n2)。
int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize){
int i, x, j, add, no;
int *answer;
*returnSize = 0;
answer = (int *)malloc(2010 * sizeof *answer);
for (i = 0; i < nums1Size; i++) {
x = nums1[i];
no = false;
for (j = 0; j < *returnSize; j++) if (answer[j] == x) no = true;
if (no) continue;
add = 0;
for (j = 0; j < nums2Size; j++) if (nums2[j] == x) add = 1;
if (add) answer[(*returnSize)++] = x;
}
return answer;
}