题目描述:求数组两两之差绝对值最小的值,只要求出最小值即可,不要求求出具体是那两个数。
常规思路:
用最简单的算法,时间复杂度为O(N^2)的算法去实现的代码如下:
1 #include<stdio.h> 2 #include<math.h> 3 #include<stdlib.h> 4 int GetMinAbsSubsq(int B[],int len) 5 { 6 int min=abs(B[1]-B[0]); 7 for(int i=0;i<len;i++) 8 for(int j=i+1;j<len;j++) 9 if(min>abs(B[i]-B[j])) 10 min=abs(B[i]-B[j]); 11 return min; 12 } 13 int main() 14 { 15 int a[5]={1,2,-3,3,1}; 16 int s=GetMinAbsSubsq(a,5); 17 printf("%d\n",s); 18 }