程序员面试金典——解题总结: 9.18高难度题 18.12给定一个正整数和负整数组成的N*M矩阵,编写代码找出元素总和最大的子矩阵。
#include#includeusingnamespacestd;/*问题:给定一个正整数和负整数组成的N*M矩阵,编写代码找出元素总和最大的子矩阵。分析:暴力破解:遍历所有子矩阵耗时O(N^4),对每个子矩阵求和耗时O(N^2),总共耗时O(N^6)动态规划:可以使得对子矩阵求和的时间复杂度降至O(1)。|AB|假设左边为矩阵,那么area(D)=ValD-ValB-ValC+ValA|CD|