給你兩個集合,計算其並集,即+。
注:+中不允許出現重複元素,但是 與之間可能存在相同元素。
輸入格式
輸入資料分為三行,第一行有兩個數字n,m(0< n,m≤10000),分別表示集合 a 和集合 b 的元素個數。後兩行分別表示集合 a 和集合 b。每個元素為不超出 int 範圍的整數,每個元素之間用乙個空格隔開。
輸出格式
輸出一行資料,表示合併後的集合,要求從小到大輸出,每個元素之間用乙個空格隔開。
樣例輸入
1 2
1 2 3
樣例輸出
1 2 3
set集合是由不重複的資料組成的。set的插入、刪除、查詢的時間複雜度都是o(lgn)。陣列插入的時間複雜度是o(1),刪除查詢是o(n)。
#include #include #include #include #include #include #include #include #include using namespace std;
const int inf=0x3f3f3f3f;
int main()
for(int i=1;i<=b;i++)
//使用迭代器遍歷
for(set::iterator it=st1.begin();it!=st1.end();it++)
if(!st2.empty())
for(set::iterator it=st2.begin();it!=st2.end();it++)
printf("%d ",*it);
printf("\n");
return 0;}/*
1 21
2 3*/
計算集合的並
題目 問題描述 給你兩個集合,計算其並集,即 注 中不允許出現重複元素,但是 與 之間可能存在相同元素。輸入格式 輸入資料分為三行,第一行有兩個數字 n,m 0 include include using namespace std intmain bool flag false for set i...
計算集合的並
description 給你兩個集合,計算其並集,即 注 中不允許出現重複元素,但是 與 之間可能存在相同元素。input 輸入資料分為三行,第一行有兩個數字 n,m 0output 輸出一行資料,表示合併後的集合,要求從小到大輸出,每個元素之間用乙個空格隔開。sample input 1 1 21...
計算集合的並
description 給你兩個集合,計算其並集,即 注 中不允許出現重複元素,但是 與 之間可能存在相同元素。input 輸入資料分為三行,第一行有兩個數字 n,m 0output 輸出一行資料,表示合併後的集合,要求從小到大輸出,每個元素之間用乙個空格隔開。sample input 1 1 21...