我认为我遇到了非常典型的问题。我知道这里有类似的主题,但知道我是初学者,不区分这个问题的不同版本。有时文本和算法的细微差别可能完全不同..所以问题是:
For a given 2<=a,b<=1000 and 1<=c<=Min(a,b) find in matrix a x b square c x c
with the largest sum of elements. The elements in matrix are from -1000 to 1000.
我可以编写一个算法来运行整个矩阵,并在每个点 (x,y) 上计算平方 (x,y)、(x+c,y)、(x,y+c)、(x+) 的总和c,y+c)。然后我选择了最大的金额。有了这些限制,我认为它可能会很快,但是有更快的算法吗?我不擅长计算算法复杂度,但它似乎是 O(a*b*c*c)。如果我在最坏的情况下没有错,它可能不会停止..