题目:
https://leetcode-cn.com/problems/max-sum-of-rectangle-no-larger-than-k/
public class _363_MaxSumSubmatrix { public int maxSumSubmatrix(int[][] matrix, int k) { int rows = matrix.length; int cols = matrix[0].length; int max = Integer.MIN_VALUE; for (int row = 1; row <= rows; row++) { for (int col = 1; col <= cols; col++) { int[][] dp = new int[rows + 1][cols + 1]; for (int i = row; i <= rows; i++) { for (int j = col; j <= cols; j++) { dp[i][j] = dp[i][j - 1] + dp[i - 1][j] - dp[i - 1][j - 1] + matrix[i - 1][j - 1]; if (dp[i][j] <= k && dp[i][j] > max) { max = dp[i][j]; } } } } } return max; } }