当前位置: 代码迷 >> 综合 >> Leetcode 1074. 元素和为目标值的子矩阵数量(DAY 65)---- 动态规划学习期(说来惭愧一上午就做出来一道题)
  详细解决方案

Leetcode 1074. 元素和为目标值的子矩阵数量(DAY 65)---- 动态规划学习期(说来惭愧一上午就做出来一道题)

热度:35   发布时间:2023-11-17 19:25:35.0

原题题目

在这里插入图片描述



代码实现(首刷自解)四重循环太酷啦

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;
}
  相关解决方案