LeetCode 349 兩個陣列的交集

2021-10-01 15:25:14 字數 973 閱讀 9044

題目:給定兩個陣列,編寫乙個函式來計算它們的交集。

示例1:

輸入: nums1 = [1,2,2,1], nums2 = [2,2]

輸出: [2]

示例2:

輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]

輸出: [9,4]

思路:

先建立乙個雜湊表來儲存兩個陣列中的數字和出現次數,先遍歷 num1,如果某個數字出現就把對應的 value 設定為1,然後遍歷

num2,此時雜湊表的 value 值只有 0 和 1,如果某個數字的 value 等於 1 說明該數字在 num1**現過,如果該數字的

value 為0,說明該數字沒有在 num1 **現過。就把該數字的 value 設定為2以區別。並新增到 list 集合中。因為 list

會新增重複的數字,因此新增該數字之前先判斷該數字是否已經在 list 集合中有了,如果有了就不需要新增了。最後將 list

集合中的數字放到陣列中返回即可。

class

solution

list

list =

newlinkedlist

<

>()

;//遍歷 num2 並判斷其中的數字是否在 num1 **現了

for(

int x : nums2)}}

//最後將 list 集合中的數字新增到陣列中即可。

int[

] arr =

newint

[list.

size()

];for(

int i =

0; i < arr.length; i++

)return arr;

}}

leetcode349 兩個陣列交集

思想 題目要求給定兩個陣列,編寫乙個函式來計算它們的交集。1.定義變數ans儲存兩個陣列的交集 2.將nums1和nums2去重 3.判斷nums1中的元素num是否在nums2中,若在則新增ans中,不在則繼續for迴圈 class solution object def intersection...

LeetCode349 兩個陣列的交集

給定兩個陣列,寫乙個函式來計算它們的交集。例子 給定num1 1,2,2,1 nums2 2,2 返回 2 題目分析 首先,將num1的元素存進s1,完成了一步去重 同樣,將num2的元素存進s2,也完成了一步去重 將所有的元素存進s.所以s s1 展示 class solution for aut...

Leetcode 349 兩個陣列的交集

給定兩個陣列,編寫乙個函式來計算它們的交集。示例 1 輸入 nums1 1,2,2,1 nums2 2,2 輸出 2 示例 2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 9,4 說明 輸出結果中的每個元素一定是唯一的。我們可以不考慮輸出結果的順序。class solutio...