无忧中英繁企业网站系统通用版,长沙公司网站制作,交易所网站建设教程,织梦网站图片怎么修改1. 题目描述
力扣在线OJ题目 给定两个数组#xff0c;编写一个函数来计算它们的交集。 示例#xff1a; 输入#xff1a;nums1 [1,2,2,1], nums2 [2,2] 输出#xff1a;[2] 输入#xff1a;nums1 [4,9,5], nums2 [9,4,9,8,4] 输出#xff1a;[9,4] 2. 思路
直接暴力…1. 题目描述
力扣在线OJ题目 给定两个数组编写一个函数来计算它们的交集。 示例 输入nums1 [1,2,2,1], nums2 [2,2] 输出[2] 输入nums1 [4,9,5], nums2 [9,4,9,8,4] 输出[9,4] 2. 思路
直接暴力求解。将 nums1 数组中的每一个数字判断是否存在于 nums2 数组中通过这种方式找出交集数据找出之后判断这个数组是否已经在返回数组中存在不存在则添加到返回数组中即可。
3. 代码实现
/*** Note: The returned array must be malloced, assume caller calls free().*/
int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size,int* returnSize) {static int arr[1000];*returnSize 0;int i, j, k;for (i 0; i nums1Size; i) {for (j 0; j nums2Size; j) {if (nums2[j] nums1[i])break; // 判断nums1[i] 是否在nums2数组中}if (j nums2Size) { // nums1中i位置的数据在nums2数组中不存在则非交集数据continue;}// 只有在另一个数组中存在的数据才能走下来判断是否已经被添加到返回数组中for (j 0; j *returnSize; j) {if (nums1[i] arr[j])break; // 判断nums1[i] 是否在 arr 这个返回数组中}if (j *returnSize) { // 不在返回数组中则添加到返回数组中arr[*returnSize] nums1[i];*returnSize 1;}}return arr;
}