Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 如何获得差异的最小绝对值?_Algorithm_Math - Fatal编程技术网

Algorithm 如何获得差异的最小绝对值?

Algorithm 如何获得差异的最小绝对值?,algorithm,math,Algorithm,Math,给定一个数组a[],并执行操作a[i]-x,a[j]+x(x,如果我正确理解您的算法/问题,则在执行a[i]-x,a[j]+x操作期间无需进行任何计算。因此我的建议是: 1) 进行所需数量的a[i]-x,a[j]+x操作 2) 执行以下过程(伪代码): \u aSorted[]=排序(\u a[]) _dif=最大整数值 对于(i=0;i

给定一个数组
a[]
,并执行操作
a[i]-x,a[j]+x(x,如果我正确理解您的算法/问题,则在执行a[i]-x,a[j]+x操作期间无需进行任何计算。
因此我的建议是:
1) 进行所需数量的a[i]-x,a[j]+x操作
2) 执行以下过程(伪代码):

\u aSorted[]=排序(\u a[])
_dif=最大整数值
对于(i=0;i<_a[]长度-1;i++){
如果(abs(\u aSorted[i]-\u aSorted[i+1])<\u dif)
_dif=abs(_aSorted[i]-_aSorted[i+1]);
}
因此,在此过程之后,dif将保存所需的结果

    _aSorted[] = sort(_a[])
    _dif = max integer value
    for (i=0; i < _a[].length - 1; i++){
      if(abs(_aSorted[i]-_aSorted[i+1]) < _dif)
        _dif = abs(_aSorted[i] -_aSorted[i+1]);
    }