第二十二條 Intersection of Two Arrays II

開始第二個循環(huán)了
總歸要找點好玩的事情,那么難度是在慢慢增加中,題目的數(shù)量也可以開始加加速
今天先嘗試做兩道題試試看
先從這道水題開始

https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/description/

求兩個數(shù)組的交集,這里還是先來個直接的“解法”吧

優(yōu)先通過遍歷其中還一個數(shù)組,用一個字典來保存每個字符出現(xiàn)的次數(shù),然后再遍歷第二個數(shù)組,然后依次看字典里是否有,如果有,就輸出一個結(jié)果,然后對應(yīng)的出現(xiàn)次數(shù)減一。

方法非常直接,然后有個可以稍微優(yōu)化的思路,就是先遍歷長度較短的那個,當(dāng)然還有就是如果兩個數(shù)組本來就相等的話,就干脆不用比較啦

class Solution:
    def intersect(self, nums1, nums2):
        """
        :type nums1: List[int]
        :type nums2: List[int]
        :rtype: List[int]
        """
        if nums1 == nums2:
            return nums1
        counter = {}
        ret = []
        for i in nums1:
            if i in counter:
                counter[i] += 1
            else:
                counter[i] = 1
        for i in nums2:
            if i in counter and counter[i] > 0:
                counter[i] -=1
                ret.append(i)
        return ret

當(dāng)然還有可以用python的內(nèi)置函數(shù),或是排序等,優(yōu)化的方法還是有一些的呢

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 算法思想貪心思想雙指針排序快速選擇堆排序桶排序荷蘭國旗問題二分查找搜索BFSDFSBacktracking分治動態(tài)...
    第六象限閱讀 4,910評論 0 0
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,935評論 0 33
  • LeetCode 刷題隨手記 - 第一部分 前 256 題(非會員),僅算法題,的吐槽 https://leetc...
    蕾娜漢默閱讀 18,429評論 2 36
  • 本文內(nèi)容為練習(xí)LeetCode題目時的解題思路和不同算法的記錄,實現(xiàn)語言為C++,代碼保存在Github,均已在L...
    SK木眠閱讀 1,127評論 0 0
  • 時光總愛逃,紅了櫻桃,綠了芭蕉,拋了舊人。 我總覺得這座城市這么小,我跟他工作的地點離得這么近,總有一天,我會牽著...
    李大仙兒的精神世界閱讀 254評論 0 1

友情鏈接更多精彩內(nèi)容