通过布尔矩阵查找路径,并跳过

时间:2016-11-27 22:35:43

标签: python algorithm numpy matrix

给定numpy中布尔值的数组A,我想找到从顶行到底行的真值的对角线路径(从左上到右下)。诀窍是,我可以接受三种不同类型的偏移 - 垂直,水平,垂直和垂直。水平(也就是说 - 一个散布的假值。)每种偏移类型都有一个阈值 - 最大可接受实例数。

所以如果A是:

0 0 1 0 1 0 0
0 0 0 1 0 0 0
0 0 1 0 1 0 0 

然后路径[0,2], [1,3], [2,4]将满足要求,而不使用任何偏移。

如果我们允许每种类型的偏移中的一种,并且A是:

0 0 1 0 1 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0 
0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0

然后[0,2], [1,3], [2,5], [4,6]满足路径的要求,使用三种不同类型的偏移中的每一种。

我要蛮力这个。有没有使用numpy发现这些路径的优雅方式?或者,如果不这样做,我可以使用哪种技术可以注入恩典?

0 个答案:

没有答案