可过不止一组唯一解版本
#include<iostream>
using namespace std;
const int N=100005;
int a[N],b[N];
int main()
{
int n,m;
int x;
cin>>n>>m>>x;
for(int i=0;i<n;i++) scanf("%d",&a[i]);
for(int i=0;i<m;i++) scanf("%d",&b[i]);
for(int i=0,j=m-1;i<n;i++ )
{
while(j>0&&a[i]+b[j]>x) j--;
if(a[i]+b[j]==x)
{
cout<<i<<" "<<j<<endl;
}
}
return 0;
}
该程序实现了一个功能,从两个整数数组中找出所有和为给定目标值的唯一组合。通过双指针技巧,遍历数组并减少无效的搜索,提高效率。当找到匹配项时,输出对应的数组索引。
168

被折叠的 条评论
为什么被折叠?



