Leetcode 1074. The number of elements and sub-matrices with the target value (DAY 65) ---- Dynamic programming learning period (I am ashamed to do a question in the morning)

Original title

Insert picture description here



Code implementation (first brush self-solving) quadruple loop is too cool

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];
            else
                dp[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;
}

Guess you like

Origin blog.csdn.net/qq_37500516/article/details/114824504