这是一次求职面试中提出的问题。我想知道获得所需结果的最佳最佳算法。 问题是:假设你有一个(n×m)矩阵,其中包含一些数字。 现在你必须计算大小> =(2 x 2)的矩阵的数量,它将具有以下两个条件:
我知道采用矩阵2 x 2和更大的所有元素的强力算法;然后计算一下。 1的,并检查角元素的6个可能条件,其中任何两个是相等的。 我想知道处理这些问题或任何来源的方式,因为我在“GeeksForGeeks”或 StackOverFlow 本身找不到任何东西,以最优化的方式。
答案 0 :(得分:3)
这是对优化方式的暗示。
首先构建一个(n,m)矩阵,计算(1-i,1-j)子矩阵中1
的数量:n m次运算,n m memory < / p>
现在对于矩阵的每个元素,搜索下面等于
的所有元素以上只是粗糙的边缘,仍然有一些工作来设计一个algorythm,但对于足够大的矩阵,它应该比蛮力好一点......