我希望能够将鼓定位在某个位置,但如果我以游乐场摩天轮为例,可能会更好。我确定这个搜索方法有名字?
一个有100把椅子的摩天轮在旋转,它随机停下来,90号椅子在底部,所有乘客都出来了。现在,如果我想把10号椅子放到地面上,这样坐在10号椅子上的乘客就可以出来了,有没有一个算法可以帮助我计算到10号椅子的最短距离,使摩天轮在正确的方向上旋转,并且到达10号椅子的次数最少?
发布于 2014-11-10 18:43:19
让我们假设椅子按顺时针方向编号,N是椅子的数量(本例中为__100)。
此外,让stopped为轮子停止位置的椅子编号。
desired是您想要到达的椅子的号码。
因此,算法将如下所示:
int distClockwise = desired - stopped;
if(distClockwise < 0) {
distClockwise += N;
}
int distCounterClockwise = N - distClockwise;
if(distClockwise < distCounterClockwise) {
//spin the wheel clockwise
}
else {
//spin the wheel counterclockwise
}https://stackoverflow.com/questions/26841682
复制相似问题