zoukankan      html  css  js  c++  java
  • 数组//两个数组的交集

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

    示例 1:

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

    示例 2:

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

    说明:

    • 输出结果中的每个元素一定是唯一的。
    • 我们可以不考虑输出结果的顺序。
    class Solution {
        public int[] intersection(int[] nums1, int[] nums2) {
            List<Integer> tmp = new ArrayList<>();
    
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    
        for (int i = 0; i < nums1.length; i++) {
            Integer value = map.get(nums1[i]);
            map.put(nums1[i], (value == null ? 0 : value) + 1);
        }
    
        for (int i = 0; i < nums2.length; i++) {
            if (map.containsKey(nums2[i]) && map.get(nums2[i]) != 0) {
                tmp.add(nums2[i]);
                map.put(nums2[i], map.get(nums2[i])-1);
            }
        }
    
        int[] result = new int[tmp.size()];
        int i = 0;
        for (Integer e : tmp)
            result[i++] = e;
        return result;
        }
    }
    class Solution {
        public int[] intersection(int[] nums1, int[] nums2) {
            Arrays.sort(nums1);
            Arrays.sort(nums2);
            List<Integer> tmp = new ArrayList<>();
            int i = 0;
            int j = 0;
            while(i < nums1.length && j < nums2.length){
                if(nums2[j] > nums1[i]){
                    i++;
                }else if(nums2[j] < nums1[i]){
                    j++;
                }else{
                    tmp.add(nums1[i]);
                    i++;
                    j++;
                }
            }
            int []result = new int[tmp.size()];
            for(int k = 0; k < result.length; k++){
                result[k] = tmp.get(k);
            }
            return result;
        }
    }
  • 相关阅读:
    注意
    被虐的很惨
    在cmd中可以运行java,但是不能用javac
    Linux常用命令
    安装JDK和eclipse
    重装win7
    小希的迷宫
    并查集——The Suspects
    BFS宽度优先搜索
    括号匹配
  • 原文地址:https://www.cnblogs.com/strawqqhat/p/10602403.html
Copyright © 2011-2022 走看看