当前位置: 首页 > news >正文

统计全为1的正方形子矩阵-二维dp

1277. 统计全为 1 的正方形子矩阵 - 力扣(LeetCode)

Solution

#include<iostream>
#include<vector>
using namespace std;class Solution {
public://dp(i,j)表示(i,j)以位置的元素为右下角的全1子矩形的最大边长//状态转移方程:mat[i][j]==1时:dp(i,j)=min(dp[i-1][j-1],dp[i][j-1],dp[i-1][j])+1;int countSquares(vector<vector<int>>& mat) {int n = mat.size();int m = mat[0].size();int ans = 0;vector<vector<int>>dp(n + 1, vector<int>(m + 1, 0));// for (int i = 0; i < n; ++i) {//     dp[i][0] = mat[i][0];//     ans+=dp[i][0];// }// for (int j = 0; j < m; ++j) {//     dp[0][j] = mat[0][j];//     ans+=dp[0][j];// }for (int i = 0; i < n; ++i) {for (int j = 0; j < m; ++j) {if (i == 0 || j == 0) {dp[i][j] = mat[i][j];}else if (mat[i][j]) {dp[i][j] = min(dp[i - 1][j - 1], min(dp[i][j - 1], dp[i - 1][j])) + 1;}ans += dp[i][j];}}return ans;}
};
int main() {return 0;
}

http://www.dtcms.com/a/342622.html

相关文章:

  • 机器学习中的两大核心算法:k 均值聚类与集成学习
  • c# 和 c++ 怎样结合
  • 基于springboot的美术馆管理系统
  • 迁移docker容器的mysql数据库到本地
  • CQRS 的优缺点
  • 【图像算法 - 20】慧眼识病:基于深度学习与OpenCV的植物叶子疾病智能识别系统
  • uniapp跨域怎么解决
  • uniapp 获取手机状态栏的高度
  • 2025-08-21 Python进阶1——控制流语句
  • K 均值聚类:从概念到实践的无监督学习之旅
  • 面试后的跟进策略:如何提高录用几率并留下专业印象
  • 暂停更新的高速下载网盘,作者可能不再维护
  • Oracle: cannot decrease column length because some value is too big
  • .NET Core MongoDB 查询数据异常及解决
  • 分布式集群压测+grafana+influxdb+Prometheus详细步骤
  • 详细说明http协议特别是conten-length和chunk编码,并且用linux的命令行演示整个过程
  • Python读取和设置PNG图片的像素值
  • 软件漏洞扫描的测试内容(二)
  • DzzOffice V2.3.7 核心功能升级与关键问题修复,体验全面优化!
  • 计算机网络-1——第一阶段
  • 【苹果软件】Prism Mac 9.4苹果系统免费安装包英文版 Graphpad Prism for Mac 9.4软件免费下载与详细图文教程!!
  • UGUI源码剖析(12):实战演练——从零构建一个健壮的Gradient顶点特效
  • 虚幻基础:目标值之间的过渡
  • 数字货币发展存在的问题:交易平台的问题不断,但监管日益加强
  • C++ string类(c_str , find和rfind , npos , find_first_of)
  • DeepSeek V3.1正式发布,专为下代国产芯设计
  • 【LeetCode 热题 100】322. 零钱兑换——(解法二)自底向上
  • 2025年物流大数据分析的主要趋势
  • 血缘元数据采集开放标准:OpenLineage Dataset Facets
  • Python-Pandas GroupBy 进阶与透视表学习