【Leetcode刷题篇】leetcode349 两个数组的交集
发布日期:2021-06-29 15:33:29 浏览次数:2 分类:技术文章

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

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

示例 1:

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

示例 2:

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

题解一、用hashset先过滤,再判断里面 是否 有

public int[] intersection(int[] nums1,int[] nums2) {
// TreeSet TreeSet
set1 = new TreeSet<>(); for(int num1:nums1) {
set1.add(num1); } TreeSet
set2 = new TreeSet<>(); for(int num2:nums2) {
set2.add(num2); } // 记录结果 int[] res = new int[set1.size()]; int index = 0; for(int num2:set2) {
if(set1.contains(num2)) {
res[index++] = num2; } } return Arrays.copyOfRange(res, 0,index); }

题解二、排序+双指针

public int[] intersection_2(int[] nums1,int[] nums2) {
// 排序+双指针 Arrays.sort(nums1); Arrays.sort(nums2); int length1 = nums1.length; int length2 = nums2.length; int index1 = 0; int index2 = 0; int[] res = new int[length1]; int index = 0; //对其遍历 while(index1
nums2[index2]) {
index2++; } else if(nums1[index1]

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

上一篇:【Leetcode刷题篇】leetcode215 数组中的第k个最大元素
下一篇:【Leetcode刷题篇】leetcode110 平衡二叉树

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月14日 11时42分42秒