力扣 349题,两个数组的交加

给定两个数组 nums1 和 nums2 ,返回 它们的交加 。输入后果中的每个元素肯定是 惟一 的。咱们能够 不思考输入后果的程序 。 示例 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] 也是可通过的起源:力扣(LeetCode)链接:https://leetcode.cn/problems/intersection-of-two-arrays著作权归领扣网络所有。商业转载请分割官网受权,非商业转载请注明出处。

解法:Set.retainAll(Set)取汇合的交加

import java.util.*;class Solution {    public int[] intersection(int[] nums1, int[] nums2) {        Set<Integer> set1 = new HashSet<>();        for(int i = 0; i < nums1.length; i++) {            set1.add(nums1[i]);        }                Set<Integer> set2 = new HashSet<>();        for(int i = 0; i < nums2.length; i++) {            set2.add(nums2[i]);        }            set2.retainAll(set1);        int[] result = new int[set2.size()];        int idx = 0;        for(Integer v : set2){            result[idx++] = v;        }        return result;    }}