349 兩個陣列的交集

2021-10-07 09:19:50 字數 1086 閱讀 3626

做法基本兩種

排好序了,可以比較下兩個陣列的最大值,最小值,看看是否有解,在大量資料的時候可以剪枝。

int max1,max2,min1,min2;

if(nums1.length==0|

|nums2.length==0)

return new int[0]

; max1=nums1[nums1.length-1];/

/看到長度-1,考慮是否越界

min1=nums1[0]

; max2=nums2[nums2.length-1]

; min2=nums2[0];if

(max1|

|min1>max2)

return new int[0]

;

class solution 

ans[cot++]=nums1[i];}

else

if(nums1[i]>nums2[j]

) j++

;else

if(nums1[i]

[j]) i++;}

return arrays.copyof(ans,cot);}

}

兩個陣列已經排序了,可以用二分了。

無非是遍歷乙個陣列,在另乙個陣列中二分。

class solution 

for(integer am:nums2) s2.add(am)

; int size=math.max(s1.size(

),s2.size())

; int[

] ans=new int[size]

; int index=0;

for(integer am:s1)

}return arrays.copyof(ans,index);}

}

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