我在解决这个问题时遇到了一些困难。主要的混淆来源于不知道何时删除一个方框。
我的方法如下:
我逐列查看容器。如果原始方框的最上面的方框为空,目标方框不为空,则我知道要添加该方框。如果相反,则我知道要删除顶部方框。当两个位置都有方框但不同的时候,我认为我必须进行交换。然而,我的问题出现在某些情况下,例如在底部删除一个方框将使所有内容向下移动并更接近目标方框。或者也许是在中间删除一个或删除两个,一个在底部,一个在中间。我如何知道何时删除方框?我可以删除所有组合并查看哪个最接近目标,但那似乎不太有效率。
我也可能认为这是一个明显的动态编程问题,超出了我的能力范围。任何帮助都将不胜感激。