解题思路:
使用vector也可以做,但是vector的find是朴素查找,时间复杂度是O(n)而set的增删查改都是O(log n)级别,速度更快
参考代码:
#include <bits/stdc++.h> #define ll long long using namespace std; int main() { ll n,m; set<int>p,v;//定义两个容器 cin>>n>>m; while(n--){ ll k; cin>>k; p.insert(k);//在p内插入元素值 } while(m--){ ll k; cin>>k; if(p.find(k)!=p.end())v.insert(k);//如果出现过,放入v内 } for(auto i=v.begin();i!=v.end();i++){//打印v容器内的元素值 cout<<*i<<" "; } return 0; }
0.0分
155 人评分
求组合数 (C语言代码)浏览:1153 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1233 |
printf基础练习2 (C语言代码)浏览:644 |
简单的a+b (C语言代码)浏览:596 |
陶陶摘苹果2 (C语言代码)浏览:595 |
C二级辅导-等差数列 (C语言代码)浏览:810 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:682 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:712 |
马拦过河卒 (C语言代码)浏览:1092 |
C语言程序设计教程(第三版)课后习题7.2 (C++代码)浏览:426 |