我需要一个搜索算法,可以在0和1的矩阵中找到最大的矩形,主要是1;具体来说,我需要它返回这些矩形的左上角和右下角的(x,y)坐标对。你知道吗
例如,考虑以下矩阵:
[1,1,0,0,0,
1,0,0,0,0,
0,0,0,0,0,
0,0,0,1,1,
0,0,0,1,1]
如果我将阈值设置为75%(矩形的平均值为0.75),那么在矩阵的左上角和右下角会找到两个矩形(特别是正方形)。每个点的元组输出分别是左上(x,y),右下(x,y)。你知道吗
{rectangle_1: ((0,0),(1,1)),
rectangle_2: ((3,3),(4,4))}
是否有任何数组/矩阵搜索算法可以作为此任务的起点?你知道吗
如果有什么重要的,我将使用python。因此,如果这样一个算法有python实现,那将是非常感激的。你知道吗
我对这个问题的看法-我将矩阵转换为字典,其中键作为位置(x,y),值等于0或1(当然,这是而不是最快的方法-使用NumPy肯定更好):
印刷品:
对于矩阵:
输出为:
相关问题 更多 >
编程相关推荐