我正在寻找一种算法,可以帮助我在二维阵列上的非零点周围创建边界。让我举个例子
我有以下数组:]
我想要一个算法,它能让我以最有效的方式在每个小“岛屿”周围建立一个“路障”。在上下文中,每组1代表了这个资源管理游戏中的一个资源来源,我想在它周围筑墙,以防我的对手
基本上,该算法应给出下图中的2s值:
这方面有几点:
有什么想法吗?我甚至不知道如何用谷歌搜索这个问题,所以我最终什么也没找到。谢谢大家!
EDIT1:创建初始数组的代码 编辑2:修正了答案
import numpy as np
size = 15
test_mat = np.zeros((size, size))
test_mat[(4, 5, 5, 6), (5, 4, 6, 5)] = 1
test_mat[(9, 9, 9, 10, 10, 11, 11), (8, 9, 10, 8, 10, 8, 10)] = 1
这并不能解决我的问题,只是想发布一个我正在玩的想法。代码如下:
使用此代码可以获得:
但是,正如您所看到的,当存在差距时,这并没有找到正确的解决方案
这个怎么样:
其中:
相关问题 更多 >
编程相关推荐