#include <stdio.h>
#include <math.h>
int _min(int a[],int b[],int c[],int l,int m,int n,int *mina,int *minb,int *minc){
int q,w,e,t;
int min=999;
for(int i=0;i<l;i++){
for(int j=0;j<m;j++){
for(int k=0;k<n;k++){
q=abs(a[i]-b[j]);
w=abs(b[j]-c[k]);
e=abs(c[k]-a[i]);
t=abs(abs(q-w)+abs(w-e)+abs(q-e));
if(min>t){
min=t;
*mina=i;
*minb=j;
*minc=k;
}
}
}
}
return min;
}
int main()
{
int a[]={-1,0,9};
int b[]={-25,-10,10,25};
int c[]={2,9,17,30,41};
int l,m,n,mina,minb,minc;
l=3;
m=4;
n=5;
int k=_min(a,b,c,l,m,n,&mina,&minb,&minc);
printf("%d",k);
return 0;
}
暴力求解。我在构思此程序的时候,实际脑子第一反应就是暴力求解,然而我那种浮躁的心灵,会不由得想要寻求更高效的解法,一边有思路,一边又不想承认,就会使得自己陷入一种矛盾的心理之中,脑海里不断浮现出暴力求解的方法,而又想要不断摆脱这种思维。
真正的方法应该是,先把暴力求解这种方法确定下来,具体下来,继续在此基础上继续深入讨论,人总是逐步向前的,想跳过跳不过的距离,要么跳过去,要么摔倒