349 取兩個陣列的交集

2021-09-10 19:35:59 字數 1274 閱讀 7439

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

示例 1:

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

輸出: [2]

示例 2:

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

輸出: [9,4]

說明:輸出結果中的每個元素一定是唯一的。

我們可以不考慮輸出結果的順序。

1,雙重迴圈 13ms
class solution }}

//2,利用set進行去重

setset = new hashset();

set.addall(list);

//3,遍歷set重灌陣列

int result = new int[set.size()];

int s = 0;

iteratoriterator = set.iterator();

while (iterator.hasnext())

return result;

}}

2,利用set進行去重 8ms
class solution 

//2,定義set2存放陣列2中重複的資料

setset2 = new hashset();

for(int i : nums2)

}//3,將結果set放入陣列中

iteratoriterator = set2.iterator();

int s = 0;

int result = new int[set2.size()];

while (iterator.hasnext())

return result;

}}

3,利用map 8ms
class solution else

}//2,遍歷陣列2中的資料,判斷map1中的key是否與陣列2中的資料相等,如果相等,將資料放入set中

setset = new hashset<>();

for(int i : nums2)

}//3,將set中的資料放入結果陣列中

int result = new int[set.size()];

int i = 0;

iteratoriterator = set.iterator();

while (iterator.hasnext())

return result;

}}

349 兩個陣列的交集

解題思路 1.分別對兩個數字排序 2.遍歷排序胡的陣列nums1和nums2,索引分別用i,j表示,1 當nums1 i 2 當nums1 i nums j 時,則將j 3 準備乙個list陣列。若兩個數相等,則i j 若當前數nums1 i 在list陣列中未出現,則將當前數存到陣列中,只要有乙個...

349 兩個陣列的交集

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

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 so...