文章
1
粉丝
59
获赞
1
访问
4.4k
思路: 数据可能会很多,所以采用二分查找+向量数组 (因为是多组数据,vector数组需要在每次测试结束清空,我这里采用了清空数据+释放空间的方法)
#include <bits/stdc++.h>
using namespace std;
vector<int> vis;
bool cmp(int a,int b)
{
return a<b;
}
int fnd(int x)
{
int h=vis.size()-1;
int l=0;
while(l<=h)
{
int mid=(l+h)/2;
if(vis[mid]==x)
return mid;
else if(vis[mid]<x)
l=mid+1;
else
h=mid-1;
}
}
int main()
{
int T;
cin>>T;
while(T--)
{
int m,n,x;
cin>>m>>n;
while(m--)
{
cin>>x;
vis.push_back(x);
}
sort(vis.begin(),vis.end(),cmp);
while(n--)
{
cin>>x;
vis.erase(vis.begin()+fnd(x));
}
for(int i=0;i<vis.size();i++)
cout<<vis[i]<<endl;
vis.clear();//清空数据
vector <int>().swap...
登录后发布评论
暂无评论,来抢沙发