class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
// iterate through the first array and add it into set (to ensure unique values)
// then iterate through second array and if the value is contained, it is intersection
// than move data from set into array and retur it back
Set<Integer> values = new HashSet<>();
for (int num : nums1) {
values.add(num);
}
Set<Integer> intersections = new HashSet<>();
for (int num : nums2) {
if (values.contains(num)) {
intersections.add(num);
}
}
int[] result = new int[intersections.size()];
int index = 0;
for (Integer num : intersections) {
result[index++] = num;
}
return result;
}
}