约束:
您不能多次迭代矩阵。
如果我们命名矩阵A,那么这些矩阵中有两个可用,一个是只读的'另一个是“读/写”。我们将使用'读/写'矩阵来构造求和区域表。
例如这里的代码:
http://www.geeksforgeeks.org/submatrix-sum-queries/
Iterares 2次:1)对所有列进行求和 2)汇总所有行
答案 0 :(得分:0)
来自维基百科的总计区域表的实用图片:
在构建过程中,我们已经有- (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
,A
和B
(对于边缘,它们将为零),并且想要计算C
。在这种情况下,该矩形跨越的区域为1x1,因此我们知道矩形的总和为D
,其中X
是位于X
位置的原始矩阵的数字,因此D
。因为属于D = C + B - A + X
和A
的区域都包含C
区域,所以会减去B
。
简单地迭代矩阵并使用该公式填充每个单元格只在矩阵上迭代一次,如果矩阵不是只读的话,甚至可以就地完成(用SAT替换原始矩阵)。 p>