欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 力扣363.矩形区域不超过K的最大数值和

力扣363.矩形区域不超过K的最大数值和

2025/10/27 18:40:50 来源:https://blog.csdn.net/Pisasama/article/details/141588060  浏览:    关键词:力扣363.矩形区域不超过K的最大数值和

力扣363.矩形区域不超过K的最大数值和

  • 前缀和

    • 枚举上下边界,每次枚举将上下边界之间的同列元素加和
    • 转化为一维前缀和问题,求Sr - Sl <= k的最大值,即Sl >= Sr - k的最小值
    • 考虑用lowerbound,可以用一个有序集合存此前遍历过的前缀和
  •   class Solution {public:int maxSumSubmatrix(vector<vector<int>>& matrix, int k) {int ans = INT_MIN;int m = matrix.size(),n = matrix[0].size();//枚举上边界for(int i=0;i<m;i++){//[i,j]的一维前缀和vector<int> s(n);//枚举下边界for(int j=i;j<m;j++){//随着j++,新增的一行和之前行对应元素合并for(int c=0;c<n;c++)s[c] += matrix[j][c];//存前缀和set<int> sumset{0};int cnt = 0;for(int v:s){   //当前前缀和cnt += v;auto lb = sumset.lower_bound(cnt-k);if(lb != sumset.end())ans = max(ans,cnt - *lb);sumset.insert(cnt);}}}return ans;}};
    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词