类似滑动窗口,将a[n]从左侧开始与b[m]进行n个数的比较并计算出difference,暂存于temp中,随后使用min函数选出最小的difference。
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
int m;
cin>>m;
int b[m];
for(int i=0;i<m;i++){
cin>>b[i];
}
int difference=INT_MAX;
for(int i=0;i<m-n;i++){
int temp=0;
for(int j=0;j<n;j++){
temp+=pow(a[j]-b[i+j],2);
}
difference=min(difference,temp);
}
cout<<difference;
return 0;
}