本文主要是介绍C语言 | Leetcode C语言题解之第363题矩形区域不超过K的最大数值和,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
题解:
int maxSumSubmatrix(int** matrix, int matrixSize, int* matrixColSize, int k){int preSum[matrixSize][*matrixColSize];for(int i=0; i<matrixSize; i++){preSum[i][0] = matrix[i][0];}for(int i=0; i<matrixSize; i++){for(int j=1; j<*matrixColSize; j++){preSum[i][j] = preSum[i][j-1]+matrix[i][j];}}int ret = INT_MIN;for(int i=0; i<matrixSize; i++){for(int left=0; left<*matrixColSize; left++){for(int right=left; right<*matrixColSize; right++){int tmp = 0;for(int down=i; down<matrixSize; down++){tmp += (preSum[down][right]-preSum[down][left]+matrix[down][left]);if(tmp<=k){ret = ret<tmp?tmp:ret;}}}}}return ret;
}
这篇关于C语言 | Leetcode C语言题解之第363题矩形区域不超过K的最大数值和的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!