有一个排序数组的n个元素(正面和负面)我们必须找到每对元素之间的差异是(相邻)元素之间的差异有索引(0,1 1,2 2,3等等) -1 n)并找出哪个差异接近于零。
Ex:-56 -57 -46 -43 -33 -25 -24 -12 -10 1 3 6 7 8 9 56 57 68 78
这里1是接近0的差异。
条件:没有发现每对之间的差异不会遍历整个数组
我已经得到了但没有条件
答案 0 :(得分:0)
通过索引i
和i + 1
访问线对,以线性方式扫描线对:
best = ABS(data[0] - data[1]);
for (i = 1; i < data.length - 2; i++)
{
d = ABS(data[i] - data[i + 1]);
if (d < best)
{
best = d;
}
}
您可能希望尽早摆脱for()
,但这取决于。它有成本。
if (best == 0)
{
break; // for()
}