力扣 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; }}