leetcode Intersection of Two Arrays题解

题目描述:

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]

中文理解:给出两个数组,返回两个数组中同时存在的元素,且返回的结果中每个元素都是唯一的。

解题思路:将两个数组的值放入两个hashSet中,求两个set的交集,返回结果。

代码(java):

class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        HashSet s1=new HashSet();
        HashSet s2=new HashSet();
        HashSet s3=new HashSet();
        for(int val:nums1){
            s1.add(val);
        }
        for(int val:nums2){
            s2.add(val);
        }
        s3.addAll(s1);
        s3.retainAll(s2);
        int []res=new int[s3.size()];
        int i=0;
        for(int val:s3){
            res[i]=val;
            i++;
        }
        return res;
    }
}

 

你可能感兴趣的:(leetcode)