黑龙江网站建设巨耀网络,泉州网站的建设,如何建设网站推广平台,ulysses wordpress描述 给定两个数组 nums1 和 nums2 #xff0c;返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序。#xff08;1 nums1.length, nums2.length 1000#xff0c;0 nums1[i], nums2[i] 1000#xff09;
示例1 输入…描述 给定两个数组 nums1 和 nums2 返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序。1 nums1.length, nums2.length 10000 nums1[i], nums2[i] 1000
示例1 输入nums1 [1,2,2,1], nums2 [2,2] 输出[2] 示例2 输入nums1 [4,9,5], nums2 [9,4,9,8,4] 输出[9,4] 解释[4,9] 也是可通过的 思路新建一个数组将输入的一个数组的值作为新建数组的下标相应下标i的新建数组的值设为1表示数i的个数有1个如果输入的另一个数组的值在新建的数组的对应下标的数组值为1将其数值设为2表明数i在输入的两个数组中都有再将新建数组中值为2的下标放入新数组中。 C语言 int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize){ int* arr(int*)malloc(sizeof(int)*1000); //两个集合相同元素的个数 int count0; for(int i0;inums1Size;i) { arr[nums1[i]]1; } for(int i0;inums2Size;i) { //num2[i]为两个数组共有元素 if(arr[nums2[i]]1) { arr[nums2[i]]2; count; } } *returnSizecount; //存放两个数组的集合 int* p(int*)malloc(sizeof(int)*(nums1Sizenums2Size?nums1Size:nums2Size)); int j0; for(int i0;i1000;i) { if(arr[i]2) { p[j]i; count--; } if(count0) break; } return p; } Java class Solution { public int[] intersection(int[] nums1, int[] nums2) { int[] temp new int[1001]; for (int i 0; i nums1.length; i) { if (temp[nums1[i]]0) temp[nums1[i]]1; } int num 0; for (int i 0; i nums2.length; i) { if (temp[nums2[i]]1){ temp[nums2[i]]2; num; } } int[] res new int[num]; for (int i 0; i 1001; i) { if (temp[i]2){ res[--num] i; } } return res; } }