PAT-A-1063. Set Similarity

PAT-A-1063. Set Similarity

Each case first gives a positive integer N (<=50) which is the total number of sets. Then N lines follow, each gives a set with a positive M (<=104) and followed by M integers in the range [0, 109]. After the input of sets, a positive integer K (<=2000) is given, followed by K lines of queries. Each query gives a pair of set numbers (the sets are numbered from 1 to N). All the numbers in a line are separated by a space.

如何最快地统计两个set 中重复的元素,

一、

asize = aset.size();
bsize = bset.size();
将setb 中的元素加入到seta 
totalsize = aset.size();
samesize = asize + bsize - totalsize;

有一个缺点就是如此之后,a 变样了。

二、

for (set<int>::iterator it = a.begin(), it != a.end(), ++it) {
    if (b.find(*it) != b.end()) {
        ++samesize;
    }
}

时间复杂度
实践证明,在修改方法一,在a 的copy 中添加b 的元素后,方法一在时间复杂度空间复杂度上都不如方法二。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值