一、选择题
eg1
eg2
eg3
二、编程题
eg1
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int n = 0;
while(cin >> n)
{
vector<int> a;
long long sum = 0;
a.resize(3*n);
for(int i = 0; i < 3 * n; ++i)
{
cin >> a[i];
}
//排序
sort(a.begin(), a.end());
//从倒数第二个数间隔两个数往前取。
for(int i = 0; i < n; ++i)
{
sum += a[a.size() - 2*(i + 1)];
}
cout << sum << endl;
}
}
eg2
#include <iostream>
using namespace std;
int main()
{
string str1;
string str2;
getline(cin, str1);
getline(cin, str2);
int hash[256]= {0};
//遍历str2,找到hash对应的位置,记录个数
for(int i = 0; i < str2.size(); ++i)
{
hash[str2[i]-'\0']++;
}
string ret;
for(int i = 0; i < str1.size(); ++i)
{
//在str2中的找不到str1中的字符
if(hash[str1[i]-'\0'] == 0)
{
ret += str1[i];
}
}
cout << ret;
return 0;
}