set集合使用詳解

2021-10-12 09:33:04 字數 2087 閱讀 5859

「曾經年少愛追夢,一心只想往前飛。」那會高二,剛剛接觸c語言,一發不可收拾,還記得當時為了乙個想法和朋友一起想到半夜。現在我還是那個少年,那個又菜又愛玩的少年。

寫法

說明set < type > s

定義乙個集合s

s.insert(item)

把item放入s集合裡面

s.erase(item)

刪除元素item

s.clear()

清空s集合

s.empty()

判斷集合是否是空的

s.size()

返回集合元素個數

s.find(k)

返回乙個迭代器,鍵值指向k

s.lower_bound(k)

返回迭代器,鍵值指向不下於k的第乙個元素

s.upper_bound(k)

返回迭代器,鍵值指向大於k的第乙個元素

有一群人,打桌球比賽,兩兩捉對撕殺,每兩個人之間最多打一場比賽。

球賽的規則如下:

如果a打敗了b,b又打敗了c,而a與c之間沒有進行過比賽,那麼就認定,a一定能打敗c。

如果a打敗了b,b又打敗了c,而且,c又打敗了a,那麼a、b、c三者都不可能成為冠軍。

根據這個規則,無需迴圈較量,或許就能確定冠軍。你的任務就是面對一群比賽選手,在經過了若干場撕殺之後,確定是否已經實際上產生了冠軍。

3

alice bob

smith john

alice smith

5a c

c dd e

b ea d

0

yes

no

#include

using

namespace std;

intmain()

//cout << a.size() << " " << b.size() << endl;

if(a.

size()

-b.size()

==1)cout <<

"yes"

<< endl;

else cout <<

"no"

<< endl;

}return0;

}

給定兩個整數集合,它們的相似度定義為:n​c / n​t × 100%。其中 n​c 是兩個集合都有的不相等整數的個數,n​是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。

3

3 99 87 101

4 87 101 5 87

7 99 101 18 5 135 18 99

21 2

1 3

50.00%

33.33%

#include

using

namespace std;

set<

int> s[55]

;int n,m;

void

fun(

int a,

int b)

s2 = s[a]

.size()

+ s[b]

.size()

- s1;

double ans = s1 *

1.0/ s2 *

100;

printf

("%.2lf%%\n"

,ans);}

intmain()

}int k;

cin >> k;

while

(k--

)return0;

}

------------------------------2020/12/18晚------------------------------

改革尚未成功,同志仍需努力!!!

Java之Set集合詳解

set是無序 無下標 不重複的 新增字串 建立乙個hashset hashsetset new hashset 新增 boolean add set add d boolean add2 set add d set.add a set.add a set.add b set.add c system...

python學習(集合set詳解)

目錄 set 集合 集合形式 集合運算 集合函式 增加元素 刪除元素 複製 清除in 判斷元素是否在集合中 集合 set 是由乙個或數個形態各異的大小整體組成的,構成集合的事物或物件稱作元素或是成員。基本功能是進行成員關係測試和刪除重複元素。注意 建立乙個空集合必須用 set 而不是 因為 是用來建...

Redis 集合(set)命令詳解

向集合新增乙個或多個成員 sadd 命令將乙個或多個成員元素加入到集合中,已經存在於集合的成員元素將被忽略。假如集合 key 不存在,則建立乙個只包含新增的元素作成員的集合。當集合 key 不是集合型別時,返回乙個錯誤。返回值 被新增到集合中的新元素的數量,不包括被忽略的元素。返回集合中的所有成員 ...