数组元素的目标和
-
主要思想: 双指针
-
给定的两个升序数组 并且确定只有一组解
-
#include<iostream> #include<algorithm> using namespace std; const int N =100010; int a[N],b[N]; int n,m,x; int main(){ cin>>n>>m>>x; for(int i=0;i<n;i++) scanf("%d", &a[i]); for(int j=0;j<m;j++) scanf("%d", &b[j]); //循环遍历a数组 反向遍历b数组 当相加大于x时 j-- (j只会往左移动)直到相等 for(int i=0,j=m-1;i<n;i++){ while(a[i]+b[j]>x && j>=0){ j--; } if(a[i]+b[j] == x) { printf("%d %d", i, j); break; } } }
-