Java实现-两数组的交2
来源:互联网 发布:淘宝的减肥药有用吗 编辑:程序博客网 时间:2024/05/22 12:05
计算两个数组的交
注意事项
每个元素出现次数得和在数组里一样
答案可以以任意顺序给出
样例
nums1 = [1, 2, 2, 1]
, nums2 = [2, 2]
, 返回 [2, 2]
.
public class Solution { /** * @param nums1 an integer array * @param nums2 an integer array * @return an integer array */ public int[] intersection(int[] nums1, int[] nums2) { // Write your code here if(nums1==null||nums2==null){return null;}HashMap<Integer, Integer> map1=new HashMap<Integer, Integer>();HashMap<Integer, Integer> map2=new HashMap<Integer, Integer>();List<Integer> result=new ArrayList<Integer>();for(int i=0;i<nums1.length;i++){if(map1.containsKey(nums1[i])){map1.put(nums1[i], map1.get(nums1[i])+1);}else{map1.put(nums1[i], 1);}}for(int i=0;i<nums2.length;i++){if(map2.containsKey(nums2[i])){map2.put(nums2[i], map2.get(nums2[i])+1);}else{map2.put(nums2[i], 1);}}Set<Integer> set1=map1.keySet();Iterator<Integer> it1=set1.iterator();while(it1.hasNext()){int temp=it1.next();if(map2.containsKey(temp)){int n=Math.min(map2.get(temp), map1.get(temp));for(int i=0;i<n;i++){result.add(temp);}}}int[] nums=new int[result.size()];for(int i=0;i<result.size();i++){nums[i]=result.get(i);}return nums; }}
阅读全文
0 0
- Java实现-两数组的交2
- Java实现-两数组的交1
- 两数组的交2
- 两数组的交2
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交||
- 两数组的交
- 两数组的交
- 两数组的交
- 两数组的交
- 3年经验的Java程序员应具备的专业技能
- PHP面试题
- WPF 初步认识
- MOOC清华《程序设计基础》第4章:折半插入排序(函数写法)
- 在这里书写人生
- Java实现-两数组的交2
- Unreal 4 Adding Detail Texture 添加细节纹理
- Leetcode551. Student Attendance Record I一趟遍历
- 安卓中Canvas使用方法
- 初步学习多线程
- 【设计模式】——适配器模式
- 导入新的工程,Studio会无响应问题
- Android编程添加图标
- Dubbo——HelloWorld