一个从头开始,另一个数组从尾部开始,因为两个数组是有序的,所以可以这样当数组之和小于目标值时,让从开始遍历的++,反之让从尾开始开始遍历的–
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
include[HTML_REMOVED]
define ll long long
using namespace std;
const ll k = 100010;
ll a[k],b[k];
int main(){
ll i,j,n,m,x;
cin>>n>>m>>x;
for(i=0;i[HTML_REMOVED]>a[i];
for(i=0;i[HTML_REMOVED]>b[i];
for(i=0,j=m-1;i[HTML_REMOVED]=0;){
if(a[i]+b[j]>x){
j--;
}
if(a[i]+b[j]<x){
i++;
}
if(a[i]+b[j] == x){
cout<<i<<" "<<j<<" ";
i++;
j--;
}
}
return 0;
}
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla