【发布时间】:2015-10-25 07:25:37
【问题描述】:
我尝试使用 python 解决地图(矩阵 4x4)的问题。
如果下一个节点必须小于前一个节点以及矩阵中所有可能的元素组合,我想找到地图路径中的最大元素数。
4 8 7 3
2 5 9 3
6 3 2 5
4 4 1 6
移动就像从一个元素可以移动到东西南北
例如从 m[0][1] 可以移动到 m[0][2] 和 m[1][1] 4-> 8 或 2
这是示例代码,但我不知道如何递归检查每个元素。
#import itertools
n = 4
matrix = [[4, 8, 7, 3 ], [2, 5, 9, 3 ], [6, 3, 2, 5 ], [4, 4, 1, 6]]
for index,ele in enumerate(matrix):
vals=[]
for i2,e2 in enumerate(ele):
for index2,ele2 in enumerate(ele):
if index < (n-1):
if ele2 > matrix[index+1] [index2]:
vals.append(matrix[index+1] [index2])
if index > 0:
if ele2 > matrix[index-1] [index2]:
vals.append(matrix[index-1] [index2])
if index2 < n-1:
if ele2 > matrix[index] [index2+1]:
vals.append(matrix[index] [index2+1])
if index2 >0:
if ele2 > matrix[index] [index2-1]:
vals.append(matrix[index] [index2-1])
如何递归这个函数循环到最后
例如,答案将类似于 8-5-3-2-1(具有递减因子的最长路径)
【问题讨论】:
-
最大深度是什么意思?请说明您想要的输出。
-
8-5-3-2-1 是最长的路径
-
@Anachor 我想这是关于在方形(或矩形)板上寻找最长的路径,这会导致(严格)递减的数字序列。但这只是一个猜测......
-
@CiaPan 是的,你是对的
-
所以在问题中说明。还要尝试在标题中指出问题的性质,因为“矩阵的深度”并不能说明您正在解决的具体问题。
标签: python recursion matrix longest-path