原题题目
代码实现(首刷自解)四重循环太酷啦
int numSubmatrixSumTarget(int** matrix, int matrixSize, int* matrixColSize, int target){
int i,j,m,n,tempsum = 0,ret = 0,dp[matrixSize+1][matrixColSize[0]];for(i=0;i<matrixSize;i++){
for(j=0;j<matrixColSize[0];j++){
if(!j) dp[i][j] = matrix[i][j];elsedp[i][j] = dp[i][j-1] + matrix[i][j];}}for(i=0;i<matrixColSize[0];i++){
for(j=i;j<matrixColSize[0];j++){
for(m=0;m<matrixSize;m++){
tempsum = 0;for(n=m;n<matrixSize;n++){
tempsum += (dp[n][j] - (i>0 ? dp[n][i-1] : 0));if(tempsum == target)ret++;}}}}return ret;
}