LeetCode 350 兩個數組的交集 II


 

給定兩個數組,寫一個方法來計算它們的交集。

例如:
給定 nums1 = [1, 2, 2, 1]nums2 = [2, 2], 返回 [2, 2].

注意:

  •    輸出結果中每個元素出現的次數,應與元素在兩個數組中出現的次數一致。
  •    我們可以不考慮輸出結果的順序。

跟進:

    • 如果給定的數組已經排好序呢?你將如何優化你的算法?
    • 如果 nums1 的大小比 nums2 小很多,哪種方法更優?
    • 如果nums2的元素存儲在磁盤上,內存是有限的,你不能一次加載所有的元素到內存中,你該怎么辦?

我的方法:hash,掃一遍nums1和nums2。

復雜度:O(m+n)

AC了,但速度不快。排在前面的似乎先排序,再掃數組。

2.如果nums1小很多,

//用hash,把nums2掃一遍。

排序,再掃描。

不排序,二分搜索。

3.用hash,分段加載nums2掃描。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM