1

int给定时钟板上的2 次(as ),我必须计算它们之间的最小距离。

在此处输入图像描述

例如 -

d(12,1) = 1 //not 11 
d(3,5) = 2 
d(10,10) = 0

最快的方法是什么?

4

3 回答 3

2

你试过什么?

Dim dif = Math.Abs((t2 + 6) Mod 12 - (t1 + 6) Mod 12)
于 2013-04-06T23:02:14.857 回答
2

如果a并且b是 从112

min(abs(a - b), 12 - abs(a - b))
于 2013-04-06T23:10:04.133 回答
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;
}
于 2013-04-06T23:28:01.930 回答