zoukankan      html  css  js  c++  java
  • LeetCode349、350. 两个数组的交集

     分析:使用集合

    import java.util.ArrayList; // 动态数组
    import java.util.TreeSet; // 基于搜索树的集合类
    
    class Solution {
        public int[] intersection(int[] nums1, int[] nums2) {
            TreeSet<Integer> set = new TreeSet<>();
            for(int num: nums1){
                set.add(num);  // 对nums1去重
            }
            
            ArrayList<Integer> list = new ArrayList<>();
            for(int num : nums2){
                if(set.contains(num)){
                    list.add(num);
                    set.remove(num);  // 把添加过的元素删除,下一轮就找不到这个元素了
                }
            }
            int[] res = new int[list.size()];
            for(int i = 0 ;i <list.size() ; i++){
                res[i] = list.get(i);
            }
            return res;
    
        }
    }
    Solution 1

     

     

     分析:可以使用允许用重复元素的集合,也可以使用映射(元素,频次)

    import java.util.ArrayList;
    import java.util.TreeMap; // 基于平衡二叉树的映射类
    class Solution {
        public int[] intersect(int[] nums1, int[] nums2) {
    
            TreeMap<Integer, Integer> map = new TreeMap<>();
            for(int num : nums1){
                if(!map.containsKey(num)){
                    map.put(num, 1);
                }
                else{
                    map.put(num, map.get(num) + 1);
                }
            }
            ArrayList<Integer> list = new ArrayList<>();
            for(int num : nums2){
                if(map.containsKey(num)){
                    list.add(num);
                    map.put(num, map.get(num) - 1);
                    if(map.get(num) == 0){
                        map.remove(num);
                    }
                }
    
            }
            int[] res = new int[list.size()];
            for(int i = 0 ; i < list.size(); i++){
                res[i] = list.get(i);
            }
            return res;
    
        }
    }
    Solution 1
  • 相关阅读:
    NET Office 组件Spire
    Tasks.Parallel
    vue 2.0-1
    ESLint 检查代码质量
    找到 OSChina 早上 8 点钟容易宕机的原因 ?
    MySQL索引 专题
    SqlMapConfig.xml全局配置文件解析
    mybatis mapper namespace
    resultMap之collection聚集
    Uploadify 控件上传图片 + 预览
  • 原文地址:https://www.cnblogs.com/HuangYJ/p/12830321.html
Copyright © 2011-2022 走看看