美文网首页
2022-02-21 「350. 两个数组的交集 II」

2022-02-21 「350. 两个数组的交集 II」

作者: 柠香萌萌鸡 | 来源:发表于2022-02-21 09:22 被阅读0次

    今天依旧是简单题:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/

    可能是前两天做栈的题目做多了,第一反应是把2个数组排序之后压入栈后,再依次peek,如果一致就取出来存在开始准备好的数组中,如果不一致,把小的那个数pop出来,继续peek对比。

    后来看了官方解法有2个,一个是利用hashmap存数字和对应次数,一个是利用双指针,和我的思路比较接近。

    具体讲下双指针,两个注意点:

    1.两个数组的交集,长度不会超过最短的那个数组,所以在new int[]时,长度可以设置成Math.min(nums1.length, nums2.length);

    2.最后返回的时候,需要做一个复制的动作:

    return Arrays.copyOfRange(ans, 0, node3);

    我开始写的是:return ans;

    执行用例的时候发现了问题,我的返回结果数组长度虽然设置过了,但是没有填满的部分没有置为0,导致看起来长度仍然不够,所以这个copy就是用来填空的。

    相关文章

      网友评论

          本文标题:2022-02-21 「350. 两个数组的交集 II」

          本文链接:https://www.haomeiwen.com/subject/lovblrtx.html