LintCode 兩個陣列的交集

2021-09-24 21:53:49 字數 1191 閱讀 4110

給出兩個陣列,寫出乙個方法求出它們的交集

例1:

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

輸出: [2].

例2:

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

輸出: [2].

可以用三種不同的方法實現嗎?

public class solution 

hashsetset2=new hashset();

for(int i:nums2)

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

int i=0;

for(int n:set2)

return result;

}}

給定兩個陣列,計算兩個陣列的交集

example1

input: 

nums1 = [1, 2, 2, 1], nums2 = [2, 2]

output:

[2, 2]

example2

input: 

nums1 = [1, 1, 2], nums2 = [1]

output:

[1]

-如果給定的陣列已經排序了怎麼辦?如何優化演算法?

-如果nums1的大小比num2的小怎麼辦?哪種演算法更好?

-如果nums2的元素儲存在磁碟上,並且記憶體受到限制,以至於不能一次將所有元素載入到記憶體中,該怎麼辦?

每個元素出現次數得和在陣列裡一樣

答案可以以任意順序給出

public class solution 

for (int i = 0; i < nums2.length; i++)

}int result = new int[tmp.size()];

int k = 0;

for (integer e : tmp)

result[k++] = e;

return result;

}}

集合框架的使用

兩個陣列的交集

給定兩個陣列,編寫乙個函式來計算它們的交集。示例 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 輸入 nums1 1,2,2,1 nums2 2,2 輸出 2 示例 2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 9,4 說明 首先說一下我自己的 菜雞 思路 我先是想先去重第第乙個陣列 nums1 然後迴圈判斷...

兩個陣列的交集

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