求优化
  • 板块题目总版
  • 楼主caramel_qwq
  • 当前回复7
  • 已保存回复7
  • 发布时间2022/7/30 13:05
  • 上次更新2023/10/27 17:44:13
查看原帖
求优化
444195
caramel_qwq楼主2022/7/30 13:05

这一段代码是判断a、b、c三个数组中有没有重复出现的数的代码,请问分别找a[i],b[i],c[i]的那一段可不可以优化成ab、bc、ac三组来找?(我语文没学过),求帮改。

vector<ll>::iterator it1,it2,it3;
		if(i<=n&&i<=m&&i<=k){
		int flag1=1,flag2=1,flag3=1;
			it2=lower_bound(b.begin(),b.end(),a[i]);
			it3=lower_bound(c.begin(),c.end(),a[i]);
			if(*it2==a[i]) flag1++;
			if(*it3==a[i]) flag1++;
			it1=lower_bound(a.begin(),a.end(),b[i]);
			it3=lower_bound(c.begin(),c.end(),b[i]);
			if(*it1==b[i]) flag2++;
			if(*it3==b[i]) flag2++;
			it1=lower_bound(a.begin(),a.end(),c[i]);
			it2=lower_bound(b.begin(),b.end(),c[i]);
			if(*it1==c[i]) flag3++;
			if(*it2==c[i]) flag3++;
			if(flag1>1) st.insert(a[i]);
			if(flag2>1) st.insert(b[i]);
			if(flag3>1) st.insert(c[i]);
		}
2022/7/30 13:05
加载中...