看啥推荐读物
专栏名称: 胖宅老鼠
Android开发
目录
相关文章推荐
今天看啥  ›  专栏  ›  胖宅老鼠

LeetCode每日一题:两个数组的交集(No.349)

胖宅老鼠  · 掘金  ·  · 2019-06-22 03:40
阅读 13

LeetCode每日一题:两个数组的交集(No.349)

题目:两个数组的交集


给定两个数组,编写一个函数来计算它们的交集。
复制代码

示例:


输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2]

输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]
复制代码

思考:


先将两个数组中的元素放入两个Set中过滤重复元素,在遍历两个Set查找相同元素即可。
复制代码

实现:


    class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        List<Integer> resultList = new ArrayList<>();
        Set<Integer> numSet1 = new HashSet<>();
        Set<Integer> numSet2 = new HashSet<>();
        for (int count = 0; count < nums1.length; count++) {
            numSet1.add(nums1[count]);
        }
        for (int count = 0; count < nums2.length; count++) {
            numSet2.add(nums2[count]);
        }
        for (Integer num : numSet1) {
            if (numSet2.contains(num)) {
                resultList.add(num);
            }
        }
        int[] result = new int[resultList.size()];
        for (int count = 0; count < result.length; count++) {
            result[count] = resultList.get(count);
        }
        return result;
    }
}复制代码



原文地址:访问原文地址
快照地址: 访问文章快照