您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

查找NxN网格中所有路径的算法

查找NxN网格中所有路径的算法

我认为您的问题中没有障碍的迹象,因此我们可以假设没有障碍。

请注意,对于n + 1 x n + 1的网格,机器人需要精确地执行2n步骤才能到达右下角。因此,它只能采取2n行动。

[找到右下角的所有路径]

机器人可以精确地确定路径:它只需要选择正确的移动方式,其余的向下移动即可。 2n``n

首先选择 的长度。为此,请遍历所有可能性:0 <= i <= 2ni路径的长度在哪里。这条道路上有max(0,i-n) <= j <= min(i,n)正确的步骤。 要生成所有可能性,请实现以下伪代码

for each i in [0,2n]:
  for each j in [max(0,i-n),min(i,n)]:
    print all binary vectors of size i with exactly j bits set to 1

打印所有大小为i且j位设置为1的二进制矢量可能在计算上很昂贵。这是可以预期的,因为存在成倍的解决方案。 对于case i=2n,您将得到j in [n,n]预期的效果(上述更简单的情况)。

其他 2022/1/1 18:16:09 有206人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶