当前位置: 首页 > 面试题库 >

最简单的针对Rubik立方体的算法编码?

阮星火
2023-03-14
问题内容

用Java编写的相对简单的算法来解决Rubik立方体。效率也很重要,但是次要考虑因素。


问题答案:

我发现的最简单的 非平凡 算法是这个:

http://www.chessandpoker.com/rubiks-cube-
solution.html

编写代码看起来并不难。YannickM.的答案中提到的链接看起来也不错,但是“
十字架
”步骤的解决方案对我来说似乎有点复杂。

您可能想看看许多开放源代码求解程序的实现。这是一个Python实现。该Java小程序还包括一个求解器,并且源代码可用。还有一个Javascript解算器,也带有可下载的源代码。

Anthony Gatlin的答案很好地说明了Prolog对此任务的适当性。这是有关如何编写自己的Prolog求解器的详细文章。它使用的启发式方法特别有趣。



 类似资料:
  • 问题内容: 我正在尝试使用JSON(使用simplejson)序列化python对象列表,并收到以下错误:对象“不可JSON序列化”。 该类是一个简单的类,其字段只有整数,字符串和浮点数,并且从一个父超类继承相似的字段,例如: foo,bar是我上面提到的简单类型。唯一棘手的事情是,ChildClass有时具有一个字段,该字段引用另一个对象(类型不是ParentClass或ChildClass)。

  • 所以,我试图在openGL和GLFW中绘制一个简单的立方体。

  • 问题内容: 在JavaScript中实现单例模式的最简单/最干净的方法是什么? 问题答案: 我认为最简单的方法是声明一个简单的对象文字: 如果您希望单例实例上有私人成员,则可以执行以下操作: 这就是所谓的模块模式,它基本上可以让你来封装对象私有成员,通过采取利用的优势关闭。 更新: 我想补充一点,如果要防止修改单例对象,可以使用ES5 方法冻结它。 这将使对象不可变,从而防止对其结构和值进行任何修

  • 借助于cube动画,实现一个简单的立方体菜单,手指滑动菜单,菜单可以左右循环滚动。 [Code4App.com]

  • 问题内容: 给定一个看起来像 如果要设置为1,则必须 有没有办法在一行中执行此操作而不必给我新值它自己的名字(在这种情况下)? 问题答案: 如邮件列表中所述,您可以执行以下操作: 然后 如果您必须经常这样做。内联(请参见输出),因此它应该几乎没有性能损失。

  • 我有一个可编码的类: 当我尝试实例化它时: 这给了我一个错误: 调用中缺少参数“from”的参数 我只想在数组中插入一个新对象(newTask)。最简单的方法是什么?