位置搜索算法

时间:2014-11-10 10:32:01

标签: algorithm language-agnostic

我希望能够将鼓放在某个位置,但如果我以游乐园摩天轮为例可能会更好。我确定这个搜索方法有一个名字?

有100把椅子的摩天轮在旋转,它随机停下来,90号椅子在底部,所有乘客都离开了。现在,如果我想把10号椅子放到地上让椅子10的乘客可以离开,是否有算法可以帮助我计算到10号椅子的最短距离,这将使摩天轮以正确的方向旋转到达10号椅子的数量?

1 个答案:

答案 0 :(得分:1)

我们假设椅子顺时针编号,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   
}