在时钟板上给出2次(int
),我必须计算它们之间的最小距离。
例如 -
d(12,1) = 1 //not 11
d(3,5) = 2
d(10,10) = 0
最快的方法是什么?
答案 0 :(得分:2)
你有什么尝试?
Dim dif = Math.Abs((t2 + 6) Mod 12 - (t1 + 6) Mod 12)
答案 1 :(得分:2)
如果a
和b
来自1
到12
:
min(abs(a - b), 12 - abs(a - b))
答案 2 :(得分:1)
纯算术(没有任何库):
int d(int first, int second){
int temp = first - second;
temp < 0? temp *=-1 :temp ;
int distance = temp > 6? 12-temp:temp;
return distance;
}