[leetcode]349. Intersection of Two Arrays数组交集

it2025-12-10  11

Given two arrays, write a function to compute their intersection.

Example 1:

Input: nums1 = [1,2,2,1], nums2 = [2,2] Output: [2]

Example 2:

Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4] Output: [9,4]

 

题意:

如题

 

Solution1:  HashSet

1.  Scan nums1,  put items in nums1 to set1

2. Scan nums2, check each item is contained in set1 

     

   

 

注意: HashSet.contains() -> O(1) 

 

code

1 class Solution { 2 public int[] intersection(int[] nums1, int[] nums2) { 3 HashSet <Integer> set1 = new HashSet<>(); 4 HashSet <Integer> resSet = new HashSet<>(); 5 6 for (int i = 0; i < nums1.length; i ++) { 7 set1.add(nums1[i]); 8 } 9 for (int i = 0; i < nums2.length; i ++) { 10 if (set1.contains(nums2[i])) { 11 resSet.add(nums2[i]); 12 } 13 } 14 // resSet -> int[]res 15 int [] res = new int[resSet.size()]; 16 int index = 0; 17 for (int num : resSet) { 18 res[index++] = num; 19 } 20 return res; 21 } 22 }

 

转载于:https://www.cnblogs.com/liuliu5151/p/9810411.html

最新回复(0)