求兩個整數集合的交集 2014TX筆試題

2022-04-05 19:10:35 字數 617 閱讀 5927

假設整數為int型,且非負數,**如下:

注意點:getinersection返回值應該為vector而不應該是vector& 因為vector向量物件在函式執行完後系統會

自動的呼叫析構函式,如果返回&的話,將得到乙個null值

#include #include 

#include

#include

using

namespace

std;

//求集合a和集合b的交集

vector getintersection(set

a,set

b)//判斷b中的元素是否a中存在,存在的話加入向量c中

for(set

::iterator iter=b.begin ();iter!=b.end();iter++)

returnc;}

void

main()

vector

c=getintersection(a,b);

for(vector::iterator iter=c.begin();iter!=c.end();iter++)

system(

"pause");

}

兩個整數集合最快演算法求交集

b 兩個整數集合,設計乙個演算法求他們的交集,盡可能的高效。一 第一種演算法,暴力求解,直接採用遍歷或者列舉的方法,這種辦法最簡單易想,但是時間複雜度比較高,為 o n 2 這是最複雜的情況。二 預處理。其實思想和c語言中的預處理一樣,對資料記性歸一化處理。說白了,就是對陣列先進行排序。陣列排序的演...

兩個有序集合求交集

方案一 暴力法,for for,時間複雜度o n n 當資料量很大時,不可取 方案二 拉鍊法 有序集合1 有序集合2 兩個指標指向首元素,比較元素的大小 1 如果相同,放入結果集,隨意移動乙個指標 2 否則,移動值較小的乙個指標,直到隊尾 這種方法的好處是 1 集合中的元素最多被比較一次,時間複雜度...

兩個整數集合最快演算法求交集 F hawk189

b 兩個整數集合,設計乙個演算法求他們的交集,盡可能的高效。一 第一種演算法,暴力求解,直接採用遍歷或者列舉的方法,這種辦法最簡單易想,但是時間複雜度比較高,為 o n 2 這是最複雜的情況。二 預處理。其實思想和c語言中的預處理一樣,對資料記性歸一化處理。說白了,就是對陣列先進行排序。陣列排序的演...