国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

兩個數組的交集(力扣刷題)

這篇具有很好參考價值的文章主要介紹了兩個數組的交集(力扣刷題)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

????????給定兩個數組?nums1?和?nums2?,返回?它們的交集?。輸出結果中的每個元素一定是?唯一?的。我們可以?不考慮輸出結果的順序?。

兩個數組的交集(力扣刷題)

來源:力扣(LeetCode)
鏈接:https://leetcode.cn/problems/intersection-of-two-arrays
?

說明:?輸出結果中的每個元素一定是唯一的。 我們可以不考慮輸出結果的順序。

思路

????????這道題目,主要要學會使用一種哈希數據結構:unordered_set,這個數據結構可以解決很多類似的問題。

????????注意題目特意說明:輸出結果中的每個元素一定是唯一的,也就是說輸出的結果的去重的, 同時可以不考慮輸出結果的順序

????????這道題用暴力的解法時間復雜度是O(n^2),那來看看使用哈希法進一步優(yōu)化。

????????但是要注意,使用數組來做哈希的題目,是因為題目都限制了數值的大小。

而這道題目沒有限制數值的大小,就無法使用數組來做哈希表了。

而且如果哈希值比較少、特別分散、跨度非常大,使用數組就造成空間的極大浪費。

此時就要使用另一種結構體了,set ,關于set,C++ 給提供了如下三種可用的數據結構:

  • std::set
  • std::multiset
  • std::unordered_set

std::set和std::multiset底層實現都是紅黑樹,std::unordered_set的底層實現是哈希表, 使用unordered_set 讀寫效率是最高的,并不需要對數據進行排序,而且還不要讓數據重復,所以選擇unordered_set。????????

思路如圖所示:

兩個數組的交集(力扣刷題)

?當然本題也有數組法,一樣放在下面。

C++代碼如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-407999.html

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        //set法
        
    //    unordered_set<int> result_set;
    //    unordered_set<int> nums_set(nums1.begin(),nums1.end());

    //    for(int num : nums2)
    //    {
    //        if(nums_set.find(num) != nums_set.end())
    //        {
    //            result_set.insert(num);
    //        }
    //    }

    //    return vector<int>(result_set.begin(),result_set.end());



       //數組法
       unordered_set<int> result_set;
       int hash[1005] = {0};
       for(int num : nums1)
       {
           hash[num] = 1;
       }

       for(int num : nums2)
       {
           if(hash[num] == 1)
           {
               result_set.insert(num);
           }
       }

       return vector<int>(result_set.begin(),result_set.end());
    }
};

到了這里,關于兩個數組的交集(力扣刷題)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 力扣 | 哈希表1 | 242.有效的字母異位詞,349.兩個數組的交集,202.快樂數,1.兩數之和

    力扣 | 哈希表1 | 242.有效的字母異位詞,349.兩個數組的交集,202.快樂數,1.兩數之和

    目錄 理論基礎 242.有效的字母異位詞 349.兩個數組的交集 202.快樂數 1.兩數之和 哈希表用來判斷一個元素是否出現在集合里(判斷一個元素是否出現過)。 犧牲空間換時間,會使用到額外的空間。 又稱散列表,key-value,根據key值來訪問 (數組就是簡單的哈希表,但是數組的大

    2024年02月21日
    瀏覽(22)
  • 看完這篇文章你就徹底懂啦{保姆級講解}-----(LeetCode刷題349兩個數組的交集) 2023.5.9

    看完這篇文章你就徹底懂啦{保姆級講解}-----(LeetCode刷題349兩個數組的交集) 2023.5.9

    本文章一部分內容參考于《代碼隨想錄》----如有侵權請聯系作者刪除即可,撰寫本文章主要目的在于記錄自己學習體會并分享給大家,全篇并不僅僅是復制粘貼,更多的是加入了自己的思考,希望讀完此篇文章能真正幫助到您!?。?力扣題目鏈接 分析題目: 什么是哈希表?

    2024年02月04日
    瀏覽(23)
  • 力扣熱門算法題 349. 兩個數組的交集,387. 字符串中的第一個唯一字符,394. 字符串解碼

    力扣熱門算法題 349. 兩個數組的交集,387. 字符串中的第一個唯一字符,394. 字符串解碼

    349. 兩個數組的交集,387. 字符串中的第一個唯一字符,394. 字符串解碼,每題做詳細思路梳理,配套PythonJava雙語代碼, 2024.04.02?可通過leetcode所有測試用例。 目錄 349. 兩個數組的交集 解題思路 完整代碼 Python Java 387. 字符串中的第一個唯一字符 解題思路 完整代碼 Python Java

    2024年04月08日
    瀏覽(31)
  • 力扣刷題:刪除重復元素

    當處理排序數組時,刪除重復元素是一個常見的問題。首先,我們來看一下如何解決這個問題,然后再進一步討論如何處理允許最多重復兩次的情況。 問題描述:給定一個已排序的數組,刪除重復的元素,使得每個元素只出現一次,并返回新的長度。 使用雙指針方法。一個

    2024年02月13日
    瀏覽(23)
  • 【力扣刷題 | 第七天】

    【力扣刷題 | 第七天】

    今天我們將會進入棧與隊列的刷題篇章,二者都是經典的數據結構,熟練的掌握棧與隊列實現可以巧妙的解決有些問題。 請你僅使用兩個棧實現先入先出隊列。隊列應當支持一般隊列支持的所有操作(push、pop、peek、empty): 實現 MyQueue 類: void push(int x) 將元素 x 推到隊列的

    2024年02月09日
    瀏覽(26)
  • 【力扣刷題 | 第十三天】

    【力扣刷題 | 第十三天】

    今天隨機進行練習,題型上不會有什么限制,主要還是練習STL算法。 給你兩個按 非遞減順序 排列的整數數組?nums1 和 nums2,另有兩個整數 m 和 n ,分別表示 nums1 和 nums2 中的元素數目。 請你 合并 nums2 到 nums1 中,使合并后的數組同樣按 非遞減順序 排列。 注意:最終,合并

    2024年02月10日
    瀏覽(35)
  • 力扣刷題【第一期】

    力扣刷題【第一期】

    1.爬樓梯 假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢? 2.求兩數的和(283) 給定一個整數數組 nums 和一個整數目標值 target,請你在該數組中找出 和為目標值 target 的那 兩個 整數,并返回它們的數組下

    2024年02月07日
    瀏覽(29)
  • 力扣刷題筆記

    諸神緘默不語-個人CSDN博文目錄 我以前刷過一波力扣,然后全忘了……從0開始的力扣復活賽! 以前刷題用的是Java,現在Java幾乎忘光了,所以現在是Python 3 + Java雙語選手。 以下題目按照力扣官方順序排列。 449. 序列化和反序列化二叉搜索樹 1281. 整數的各位積和之差 1749. 任意

    2024年02月14日
    瀏覽(24)
  • 力扣刷題19天

    力扣刷題19天

    ??? ?????這道題下面是前提: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ???????? 如果沒有這個前提,會出現下面情況(前序遍歷會變成新的樹): ? ? ? ? 運行代碼: ? ? ? ? ? 下面代碼中出現的問題: ? ? ? ? 和上面那道題邏輯一樣。 ? ? ? ? 運行代碼: ? ? ? ? ?

    2024年02月04日
    瀏覽(29)
  • 【力扣刷題 | 第十七天】

    【力扣刷題 | 第十七天】

    目錄 前言: 55. 跳躍游戲 - 力扣(LeetCode) 45. 跳躍游戲 II - 力扣(LeetCode) 總結: ????????今天兩道類型都是貪心算法,希望可以有所收獲 給定一個非負整數數組? nums ?,你最初位于數組的? 第一個下標 ?。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷

    2024年02月15日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包