一、选择题
二、编程题
2.1 组队竞赛
参考代码:
#include <queue>
int main()
{
priority_queue<int> pq;
int n=0;
cin>>n;
int tmp=0;
for(size_t i=0;i<3*n;i++)
{
cin>>tmp;
pq.push(tmp);
}
long long sum=0;
for(size_t i=0;i<n;i++)
{
pq.pop();
//取第二大,第四大...,一共取n个求和
sum+=pq.top();
pq.pop();
}
cout<<sum<<endl;
return 0;
}
2.2 删除公共字符
参考代码:
int main()
{
string str1;
string str2;
//不能用cin,因为cin遇到空格会结束
//getline读取一行,以回车为结束符
getline(cin,str1);
getline(cin,str2);
int hash[128]={0};
for(const auto& e:str2)
{
//把str2的字符都映射到哈希表的对应位置上
hash[e]++;
}
string ret;
for(const auto& e:str1)
{
//如果str1中的值存在于str2中,那么我们就跳过,即在str1中
//删除该元素否则,这个字符就是我们要保留的,+=到ret即可
if(hash[e]==0)
{
ret+=e;
}
}
cout<<ret<<endl;
return 0;
}
你学会了吗?