LintCode做题记录-两数组的交 II
发布日期:2021-10-10 12:51:21 浏览次数:4 分类:技术文章

本文共 2069 字,大约阅读时间需要 6 分钟。

LintCode做题记录-两数组的交 II

题目要求:

计算两个数组的交

每个元素出现次数得和在数组里一样

答案可以以任意顺序给出

示例:

nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].

试过两种方法,都贴一下

常规办法(83%的时候超时)

public int[] getIntersection(int[] nums1, int[] nums2) {        List
list1 = new ArrayList<>(); List
list2 = new ArrayList<>(); List
result = new ArrayList<>(); if (nums1.length > nums2.length) { for (int i = 0; i < nums1.length; i++) { list1.add(nums1[i]); } for (int i = 0; i < nums2.length; i++) { list2.add(nums2[i]); } } else { for (int i = 0; i < nums1.length; i++) { list2.add(nums1[i]); } for (int i = 0; i < nums2.length; i++) { list1.add(nums2[i]); } } for (int i = 0; i < list1.size(); i++) { int n = list1.get(i); if (list2.contains(n)) { list2.remove(list2.indexOf(n)); result.add(n); } } int[] nums = new int[result.size()]; for (int i = 0; i < result.size(); i++) { nums[i] = result.get(i); } return nums; }

完全通过的方法

public int[] getIntersection(int[] nums1, int[] nums2) {        if (nums1.length == 0 || nums2.length == 0) {            return new int[]{};        }        Arrays.sort(nums1);        Arrays.sort(nums2);        List
list = new ArrayList<>(); int index1 = 0; int index2 = 0; while (index1 < nums1.length && index2 < nums2.length) { if (nums1[index1] == nums2[index2]) { list.add(nums1[index1]); index1++; index2++; } else { if (nums1[index1] < nums2[index2]) { index1++; } else { index2++; } } } int[] nums = new int[list.size()]; for (int j = 0; j < list.size(); j++) { nums[j] = list.get(j); } return nums; }

转载地址:https://blog.csdn.net/qq_26971803/article/details/52135673 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LintCode做题记录- 数字三角形
下一篇:CheckBox设置选中颜色与点击涟漪颜色

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年03月10日 08时17分45秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

java布局管理器空布局_Java图形化界面设计——布局管理器之null布局(空布局)... 2019-04-21
java gas station_LeetCode – 774. Minimize Max Distance to Gas Station 2019-04-21
java项目无法加载到tomcat_eclipse+tomcat添加项目进来无法启动tomcat 2019-04-21
后缀树建立 java_实用算法实现-第 8 篇后缀树和后缀数组 [2 最长公共子串] 2019-04-21
java网络编程期末试题_java网络编程面试题【其中一小部分】 2019-04-21
java基金管理系统_【Java GUI】Java GUI基金会 2019-04-21
estore java_estore2 - WEB源码|JSP源码/Java|源代码 - 源码中国 2019-04-21
Java中用switch构造数组_javase(四舍五入、switch、length、构造器、重载与重写)... 2019-04-21
docker 部署java_docker 部署java环境以及常用应用(持续更新) 2019-04-21
jpmml导出java文件_JPMML解析PMML模型并导入数据进行分析生成结果 2019-04-21
java如何做表单校验_微信小程序实现表单校验功能 2019-04-21
php类里面调用函数吗,从PHP类中的另一个函数调用一个函数 2019-04-21
php7 ast,PHP7 的抽象语法树(AST)带来的变化,_PHP_ 少侠科技 2019-04-21
php 去掉json外层 方括号,从 JSON 中删除方括号 - WITHOUT_ARRAY_WRAPPER 选项 2019-04-21
windows 2003 php5.6,GitHub - d93921012/php-5.6-xp-2003: Run PHP 5.6+ on Windows XP and 2003 2019-04-21
php 微信支付宝提现,微信支付对接提现功能(php) 2019-04-21
php 薛强,PHP框架Yii系列教程(一):入门实例 2019-04-21
oracle的java包,oracle中程序包? 2019-04-21
php先学html,PHP入门学习–HTML01 2019-04-21
mysql中字符转数字,MYSQL字符数字转换为数字 2019-04-21