我一直在尝试模拟一个电梯,就像往常一样,我一次只做一个简单的命令就非常简单,然后以队列的形式向电梯添加内存,以便按压下的顺序移动地板,这显然不是最佳方法。
因此,目前我使用的是一种非常简单且“近视”的逻辑,即对于当前楼层,找到离我最近的楼层并将其设置为我的下一个目的地,然后循环直到列表中没有更多的楼层。
但这并不总是有效,例如,电梯位于5层建筑的3层,并获得订单4,5,2,最短路径为2-> 4-> 5,花费4层,但是使用此逻辑根据代码的不同,花费5的4-> 5-> 2有相同的机会被选中。
如何找到最短的路径并使电梯更高效?