3.27 首先學到了這麼幾點吧:
1. 原來是可以定義變長的陣列的,就是 int a = new int[n];這種形式,n是變數是可以的哈哈哈哈哈哈哈。
2.就是熟練arraylist 和 hashmap 的用法吧。
3.學會了怎麼arraylist和陣列之間的相互轉換。
先用了這種普通先排序再比較的方法,果然超時了
public static int intersection(int nums1, int nums2)
arrays.sort(nums1);
arrays.sort(nums2);
int n1 = nums1.length-1;
int n2 = nums2.length-1;
//int a = new int[0];
//int count = -1;
arraylistlist = new arraylist();
while(n1 >= 0 && n2 >= 0)
else if(nums1[n1] < nums2[n2])
else if(nums1[n1] == nums2[n2])
n1--;
n2--;}}
int a = new int[list.size()];
for( int i=0;ilist = new arraylist();
arraylistlist2 = new arraylist();
for(int i = 0; i < nums1.length; i++)
} for(int i = 0; i < nums2.length; i++)
}} int a = new int[list2.size()];
for(int j = 0; j < list2.size(); j ++)
return a;
}
最後使用hashmap勉強就算過了吧。
有一件特別神奇的事情。如果我把arraylist 命名為list 就會超時
如果命名為a,就ac了。呵呵呵呵,讓我鄙視一下lintcode吧。
public static int intersection2(int nums1, int nums2){
// write your code here
hashmapmap = new hashmap();
for(int i =0;ia = new arraylist();
for(int i=0;i
兩陣列的交 和 兩陣列的交
題目描述 計算兩個陣列的交 解題思路 這兩個題我放在一起了,只要會兩個陣列的交就行了,兩個陣列的交 幾乎一樣,就是刪了一點 先分別對兩個陣列排序,然後分別比較兩個陣列的元素,如果有相同的元素插入到新的陣列裡,將這個數儲存起來,用於後面去掉重的元素,如果兩個元素不一樣,繼續比較剩下的元素。兩個陣列的交...
兩陣列的交
返回兩個陣列的交 樣例nums1 1,2,2,1 nums2 2,2 返回 2 先排序,從nums1陣列中取數判斷時,若nums1 i nums2 j 才繼續遍歷nums2,並用乙個k值記錄nums2中比nums1 i 1 小的最大數的角標,下次判斷nums i 時nums2從k值開始取。class...
兩陣列的交
一 問題描述 返回兩個陣列的交 注意事項 樣例nums1 1,2,2,1 nums2 2,2 返回 2 二 解題思路運用set intersection函式很容易求出兩陣列的交集,要注意使用這個函式時引數怎麼樣寫,還有就是inserter函式,要注意裡面的引數,第乙個是要插入的內容,第二個是插入的位...