zoukankan      html  css  js  c++  java
  • [leetCode]349. 两个数组的交集

    csdn:https://blog.csdn.net/renweiyi1487/article/details/109264635

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

    示例 1:

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

    示例 2:

    输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
    输出:[9,4]

    哈希

    求两个数组的交集就是求两个数组的共有元素,可以使用两个set集合来存放每个数组中不重复的元素,然后迭代另一个set集合中的元素,如果迭代元素属于另一个set集合则该元素属于交集中的元素。

    class Solution {
        public int[] intersection(int[] nums1, int[] nums2) {
            List<Integer> ans = new ArrayList<>();
            HashSet<Integer> set1 = new HashSet<>();
            HashSet<Integer> set2 = new HashSet<>();
            for (Integer num : nums1) {
                set1.add(num);
            }
            for (Integer num : nums2) {
                set2.add(num);
            }
            Iterator<Integer> it = set2.iterator();
            while (it.hasNext()) {
                int num = it.next();
                if (set1.contains(num)) {
                    ans.add(num);
                }
            }
            int[] finalAns = new int[ans.size()];
            for (int i = 0; i < finalAns.length; i++) {
                finalAns[i] = ans.get(i);
            }
            return finalAns; 
        }
    }
    

    写法二:

    class Solution {
        public int[] intersection(int[] nums1, int[] nums2) {
            int[] output = new int[nums1.length];
            HashSet<Integer> set1 = new HashSet<>();
            HashSet<Integer> set2 = new HashSet<>();
            for (Integer num : nums1) {
                set1.add(num);
            }
            for (Integer num : nums2) {
                set2.add(num);
            }
            int idx = 0;
            for (Integer num : set2) {
                if (set1.contains(num))
                    output[idx++] = num;
            }
            return Arrays.copyOf(output, idx); 
        }
    }
    
  • 相关阅读:
    LVS负载均衡部署
    将源码包制作成rpm包
    root用户被提示:Operation not permitted
    varnish加速web
    优化nginx数据包头缓存
    NGINX并发量优化
    Python+API接口测试框架设计(pytest)
    python+API接口测试框架设计(unittest)
    python编程面试题
    Python + unittest知识点回顾
  • 原文地址:https://www.cnblogs.com/PythonFCG/p/13870851.html
Copyright © 2011-2022 走看看