set <int> intersection(set <int> a, set <int> b) {
if (a.size() > b.size()) swap(a, b);
set <int> res = a;
for (int i : a)
if (b.count(i) == 0)
res.erase(i);
return res;
}
- 设集合 a,b 的元素个数分别为 p,q,则执行函数 intersection(a,b)的时间复杂度为
Θ(min(?, ?) log max(?, ?))。( )
答案是 F,请问正确的复杂度是什么。我认为是 O(min(p,q)log(p+q)) 吗,但是因为 p+q≤2max(p,q),忽略常数 2 复杂度就一样了。求解答 \bx