349 兩個陣列的交集

2021-10-02 08:10:22 字數 648 閱讀 7427

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

示例 1:

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

輸出: [2]

示例 2:

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

輸出: [9,4]

說明:

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

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

注意一:對於交集中的重複的元素,返回唯一的元素,有兩種方法進行處理:第一種,直接用set存放結果,後轉化成相應的返回型別,第二種,可以用直接用返回型別來存放,但是查詢完之後需要把元素刪除掉

class solution {

public:

vectorintersection(vector& nums1, vector& nums2) {

//查詢,用set可以降低時間複雜度,

//返回結果也是唯一,而不是交集所有元素,故用set

setrecord;

for(int i=0;irecord.insert(nums1

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 說明 輸出結果中的每個元素一定是唯一的。我們可以不考慮輸出結果的順序。我的提交 class so...

349 兩個陣列的交集

做法基本兩種 排好序了,可以比較下兩個陣列的最大值,最小值,看看是否有解,在大量資料的時候可以剪枝。int max1,max2,min1,min2 if nums1.length 0 nums2.length 0 return new int 0 max1 nums1 nums1.length 1 ...