我遇到问题:n
数组int
中存储的圈子中有(0..n-1)
个里程碑。鉴于两个里程碑x
和y
,我需要确定它们之间的最短距离;顺时针或逆时针。
下面是一个包含图片的链接,该图片说明了n = 20
的问题示例(很抱歉,我无法直接上传图片,因为我没有足够的声誉)。
http://upanh.biz/images/2014/02/16/circle.png
假设:从18岁开始 - > 1:最短距离= 3,方向:顺时针。
提前感谢您,非常欢迎您的评论。
答案 0 :(得分:0)
应该非常简单:
counterDistance = x < y ? (N - y + x) : (x - y);
direction = counterDistance < N / 2 ? "counter" : "clock";