給定兩個陣列,寫乙個方法來計算它們的交集。
例如:給定
nums1 =[1, 2, 2, 1]
, nums2 =[2, 2]
, 返回[2, 2]
.
注意:
思路:對於這種題型,我的第乙個思路就是遍歷nums2,看nums1中是否有元素與其相等,若相等,則投入交集陣列。
但仔細想想就會發現行不通,因為陣列中會可能會有
重複元素。
既然會有重複元素,我們不妨延伸該思路,你重複,那我就為你儲存你出現的次數。怎麼儲存?很簡單,宣告乙個陣列或者stl的map關聯容器來儲存nums1中每個值出現的次數。然後再用nums2一一比較,
若相等,則與該元素關聯的次數減一,減為0,就刪除該元素。
**如下:
class solution ;
if (nums2.empty())
return {};
vectorresult;
mapnums;
for (auto i = nums1.cbegin(); i < nums1.cend(); ++i)
for (int i = 0; i < nums2.size(); ++i)
}return result;
}};
兩個陣列的交集II
給定兩個陣列,編寫乙個函式來計算它們的交集。示例 1 輸入 nums1 1,2,2,1 nums2 2,2 輸出 2,2 示例 2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 4,9 說明 輸出結果中每個元素出現的次數,應與元素在兩個陣列 現的次數一致。我們可以不考慮輸出結果...
兩個陣列的交集 II
給定兩個陣列,編寫乙個函式來計算它們的交集。示例 1 輸入 nums1 1,2,2,1 nums2 2,2 輸出 2,2 示例 2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 4,9 方法一 雜湊表,把陣列1的所有元素都放到雜湊表中,並記錄次數。然後再遍歷陣列2,看雜湊表中是...
php 兩個陣列求交集 兩個陣列的交集 II
給定兩個陣列,編寫乙個函式來計算它們的交集。輸入 nums1 1,2,2,1 nums2 2,2 輸出 2,2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 4,9 輸出結果中每個元素出現的次數,應與元素在兩個陣列 現次數的最小值一致。我們可以不考慮輸出結果的順序。1.將兩個陣...