做法基本兩種
排好序了,可以比較下兩個陣列的最大值,最小值,看看是否有解,在大量資料的時候可以剪枝。
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...