JAVA取数两个数组交集,考虑重复和不重复元素

网友投稿 322 2022-09-04

JAVA取数两个数组交集,考虑重复和不重复元素

1.考虑不重复元素,重复元素不添加

import java.awt.List;import java.util.ArrayList;import java.util.TreeSet;public class Solution { public static int[] intersection(int[] nums1,int[] nums2){ TreeSet set =new TreeSet<>(); for(int num : nums1)//把不重复的nums1加入到集合中 set.add(num); ArrayList 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

2.重复元素添加

import java.util.ArrayList;import java.util.TreeMap;public class Solution1 { public static int[] intersect(int[] nums1, int[] nums2) { TreeMap map = new TreeMap<>(); for (int num : nums1) { if (!map.containsKey(num)) // 不包含 map.put(num, 1); // 出现频率 else map.put(num, map.get(num) - 1); } ArrayList 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; }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:出海环境发生巨变,企业营销如何破局?
下一篇:老字号玩转互联网营销!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~