1074. Number of Submatrices That Sum to Target
Last updated
Was this helpful?
Last updated
Was this helpful?
Given a matrix
and a target
, return the number of non-empty submatrices that sum to target.
A submatrix x1, y1, x2, y2
is the set of all cells matrix[x][y]
with x1 <= x <= x2
and y1 <= y <= y2
.
Two submatrices (x1, y1, x2, y2)
and (x1', y1', x2', y2')
are different if they have some coordinate that is different: for example, if x1 != x1'
.
Example 1:
Example 2:
Constraints:
1 <= matrix.length <= 100
1 <= matrix[0].length <= 100
-1000 <= matrix[i] <= 1000
-10^8 <= target <= 10^8
Array, Dynamic Programming, Sliding Window
From LeetCode 560. Subarray Sum Equals K we know how to obtain the subarrays whose sum equal to a certain target value. This problem extends it to 2D scenario, but we can also take advantage of the solution of 1D version subarraySum()
. We traverse all continuous rows permutations, and sum up these rows along each columns to obtain a 1D array. This array and target are the arguments of subarraySum()
. The final result is the sum of all return values of this function.
Time complexity:
Space complexity: