547 兩陣列的交

2021-07-29 15:12:17 字數 1266 閱讀 7661

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函式,要注意裡面的引數,第乙個是要插入的內容,第二個是插入的位...