求兩個陣列的交集

2021-06-28 11:30:19 字數 683 閱讀 6619

方法:先用a建立 有序二叉樹,然後用b中的數值依次在二叉樹中尋找,如果找到了,就增加到交集陣列中

複雜度:建立二叉樹的複雜度logn,在二叉樹中查詢的複雜度是 logn*(m+1)

#include"stdio.h"

int commonarray[20];

int com_len=0;

struct node

;struct node *head;

void printtree(struct node *p)

}struct node *createtree(int a,int len)

if(curnode->data >a[i])

curnode->lnode =newnode;

else

curnode->rnode =newnode;

i++;

} return head; };

int findvalueintree(struct node *p,int value)

return findvalue;

}//列印陣列

void printarray(int *a,int len)

{ int i=0;

if(len<=0)

return;

for(;i

php 兩個陣列求交集 兩個陣列的交集 II

給定兩個陣列,編寫乙個函式來計算它們的交集。輸入 nums1 1,2,2,1 nums2 2,2 輸出 2,2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 4,9 輸出結果中每個元素出現的次數,應與元素在兩個陣列 現次數的最小值一致。我們可以不考慮輸出結果的順序。1.將兩個陣...

求兩個陣列的交集

問題 給你兩個排序的陣列,求兩個陣列的交集。比如 a 1 3 4 5 7,b 2 3 5 8 9,那麼交集就是 3 5.思路 1.每一次從b陣列中取一值,然後在a陣列裡逐個比較,如果有相等的,則儲存。該演算法複雜度為 o mn m,n 分別為陣列 a b 的長度。2.因為a b 都排過序,所以,每一...

求兩個陣列的交集

原址 比如a b 那麼a b 演算法一 在大多數情況,也就是一般的情況下,大家都能想出最暴力的解法,通常也就是採用遍歷或者列舉的辦法來解決問題。該題需要找出兩個陣列的交集,最簡單的乙個辦法就是用a陣列裡面的所有數去匹配b陣列裡面的數。假設兩個陣列的大小都是n,那麼這種遍歷的時間複雜度為o n 2 這...