g0301_0400.s0349_intersection_of_two_arrays.Solution Maven / Gradle / Ivy
package g0301_0400.s0349_intersection_of_two_arrays;
// #Easy #Array #Hash_Table #Sorting #Binary_Search #Two_Pointers
// #2022_07_11_Time_1_ms_(99.77%)_Space_42.3_MB_(92.31%)
import java.util.ArrayList;
import java.util.List;
/**
* 349 - Intersection of Two Arrays\.
*
* Easy
*
* Given two integer arrays `nums1` and `nums2`, return _an array of their intersection_. Each element in the result must be **unique** and you may return the result in **any order**.
*
* **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]
*
* **Explanation:** [4,9] is also accepted.
*
* **Constraints:**
*
* * `1 <= nums1.length, nums2.length <= 1000`
* * `0 <= nums1[i], nums2[i] <= 1000`
**/
public class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
boolean[] occ = new boolean[1001];
for (int k : nums1) {
occ[k] = true;
}
List res = new ArrayList<>();
for (int j : nums2) {
if (occ[j]) {
occ[j] = false;
res.add(j);
}
}
int[] result = new int[res.size()];
for (int i = 0; i < res.size(); i++) {
result[i] = res.get(i);
}
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy