-1

想象一下数字 1 到 15

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

现在考虑这个列表中的某个值 V 和另一个值 D。

问题是,什么是 V - D。

但这里有一个问题:想象这些值是一个循环,而不是线性计数。换句话说,“1”紧挨着“15”。

4

2 回答 2

4

由于您可以环绕,因此可以比较 |V - D| 与 |15 - |V - D||。这些数字中最小的将是 V 和 D 之间的最短距离。

例子:

V    D    |V - D|    |15 - |V - D||    distance
-----------------------------------------------
1    1     0          15               0
1    15    14         1                1
2    1     1          14               1
2    15    13         2                2
于 2013-09-22T02:52:36.857 回答
-1

您可以取较大的数字,然后减去较小的数字。

java中的例子

if(num1>num2){
num1-num2;
}else if(num2>num1){
num2-num1;
}

我不知道 javascript 但我知道它非常相似

于 2013-09-22T02:50:20.003 回答