[LeetCode By Go 32]349. Intersection of Two Arrays

題目

Given two arrays, write a function to compute their intersection.

Example:
Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2].

Note:

  • Each element in the result must be unique.
  • The result can be in any order.

解題思路

  1. 將nums1中的元素放入map[int]bool中,值初始化為false
  2. 遍歷nums2,map中存在的元素值置為true
  3. 遍歷map,取出值為true的元素
    注意
    第三步遍歷map的目的是防止有多個重復的相交元素出現

代碼

intersection.go

package _349_Intersection_of_Two_Arrays

func intersection(nums1 []int, nums2 []int) []int {
    var ret []int

    var numMap map[int]bool
    numMap = make(map[int]bool)

    for _, v := range nums1 {
        numMap[v] = false
    }

    for _, v := range nums2 {
        _, ok := numMap[v]
        if ok {
            numMap[v] = true
        }
    }

    for k, v := range numMap {
        if v  {
            ret = append(ret, k)
        }
    }
    return ret
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 我不得不說,中餐廳真的是一個成功的美食類節目,每次看著新鮮出爐的菜品都好想吃,但是周冬雨當主廚做出來的飯我真的保持...
    臭美的風鈴閱讀 546評論 0 0
  • 凡事向內求。 只有自己明白自己想要什么。 你走的路,做的事,是否跟你想要的一切契合? 如果不是,那你注定繞遠路,或...
    兔子前輩閱讀 1,656評論 0 1
  • 茫茫人海 人海茫茫 與你相遇相識相知相愛 好幸運 不覺時間匆匆 不聞流水潺潺 不知花落花開 不管夕陽西下 光陰荏苒...
    盞靈閱讀 219評論 0 3
  • 今天繼續聊到的是在我們生活中出場率很高的另一類神仙,土地爺。 這個神仙大家就都很熟悉了,現在的北方農村基本上每一家...
    李發師閱讀 662評論 0 1