leetcode1277. 统计全为 1 的正方形子矩阵(dp)

给你一个 m * n 的矩阵,矩阵中的元素不是 0 就是 1,请你统计并返回其中完全由 1 组成的 正方形 子矩阵的个数。示例 1:输入:matrix =
[[0,1,1,1],[1,1,1,1],[0,1,1,1]
]
输出:15
解释: 
边长为 1 的正方形有 10 个。
边长为 2 的正方形有 4 个。
边长为 3 的正方形有 1 个。
正方形的总数 = 10 + 4 + 1 = 15.

代码

class Solution {public int countSquares(int[][] matrix) {int n=matrix.length,m=matrix[0].length,res=0;int[][] dp=new int[n+1][m+1];for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(matrix[i-1][j-1]==1){dp[i][j]= Math.min(dp[i-1][j-1], Math.min(dp[i-1][j],dp[i][j-1]))+1;//状态转移res+= dp[i][j];}return res;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现离线加域---Windows2008 R2 新功能系列之八

我们都知道&#xff0c;部署活动目录&#xff0c;无非搭建一台或多台DC&#xff0c;然后把其它的客户端计算机或成员服务器全部加入域&#xff0c;但在windows2008SP2以前&#xff0c;客户端加入域时&#xff0c;DC必须在线&#xff0c;而从2008R2开始我们已经可以做到让客户端…

【bzoj1263】[SCOI2006]整数划分 高精度

题目描述 从文件中读入一个正整数n&#xff08;10≤n≤31000&#xff09;。要求将n写成若干个正整数之和&#xff0c;并且使这些正整数的乘积最大。 例如&#xff0c;n13&#xff0c;则当n表示为4333&#xff08;或22333&#xff09;时&#xff0c;乘积108为最大。 输入 只有一…

rails i18n模型_Rails国际化的完整指南(i18n)

rails i18n模型by Anastasia由Anastasia Rails国际化的完整指南(i18n) (The Complete Guide to Rails Internationalization (i18n)) In this article you are going to learn how to translate your Rails application into multiple languages, work with translations, loc…

分表后需要注意的二三事

前言 本篇是上一篇《一次分表踩坑实践的探讨》&#xff0c;所以还没看过的朋友建议先看上文。 还是先来简单回顾下上次提到了哪些内容&#xff1a; 分表策略&#xff1a;哈希、时间归档等。分表字段的选择。数据迁移方案。而本篇文章的背景是在我们上线这段时间遇到的一些问题并…

DNS 原理

阮老师的作品&#xff0c;非常精彩&#xff0c;转载&#xff01; DNS 是互联网核心协议之一。不管是上网浏览&#xff0c;还是编程开发&#xff0c;都需要了解一点它的知识。 本文详细介绍DNS的原理&#xff0c;以及如何运用工具软件观察它的运作。我的目标是&#xff0c;读完此…

leetcode1169. 查询无效交易

如果出现下述两种情况&#xff0c;交易 可能无效&#xff1a; 交易金额超过 1000 或者&#xff0c;它和另一个城市中同名的另一笔交易相隔不超过 60 分钟&#xff08;包含 60 分钟整&#xff09; 每个交易字符串 transactions[i] 由一些用逗号分隔的值组成&#xff0c;这些值分…

销售员/学员/讲师系统

前言: 今晚写一篇关于学员/讲师/销售员CRM系统。这个小项目是27号开始做的&#xff0c;大概搞了一星期不到。我把一些知识点总结下&#xff0c;还写下当时克服的BUG。 Django练习小项目&#xff1a;学员管理系统设计开发 带着项目需求学习是最有趣和效率最高的&#xff0c;今天…

Linux内核启动

1 内核编译 解压缩&#xff1a;tar xjf linux-2.6.22.6.tar.bz2打补丁&#xff1a; path -p1 < ../linux-2.6.22.6_jz2440.patch(其中p1是忽略补丁文件中的一级目录)配置&#xff1a; 方法一&#xff1a;使用make menuconfig逐项配置方法二&#xff1a;使用默认配置&#xf…

node.js使用手册_权威的Node.js手册

node.js使用手册Developer and freeCodeCamp camper Flavio Copes has published his entire Node.js Handbook online for free - both on freeCodeCamps Medium publication and as a .pdf file. You can read it here.开发人员和freeCodeCamp营员Flavio Copes在freeCodeCamp…

自动化运维之saltstack(二)states深入理解

深入了解SLS的可以参考这篇博文&#xff1a;http://www.ituring.com.cn/article/42238 个人觉得这篇文章翻译的不错&#xff0c;所以转载过来。 Salt Sates 众多强大而有力的涉及都是建立在简单的原则之上。Salt SLS系统也是努力想K.I.S.S看齐。&#xff08;Keep It Stupidly …

java里面的 |运算符_Java 中 | ^ 运算符的简单使用

背景今天碰到了代码中的按位与运算&#xff0c;复习一下&#xff0c;先列一个各个进制数据表。顺便复习一下十进制转二进制的计算方式&#xff1a;接下来解释下这三个运算符&#xff1a;&  按位与&#xff0c;都转为二进制的情况下&#xff0c;同为1则为1&#xff0c;否则…

leetcode915. 分割数组

给定一个数组 A&#xff0c;将其划分为两个不相交&#xff08;没有公共元素&#xff09;的连续子数组 left 和 right&#xff0c; 使得&#xff1a; left 中的每个元素都小于或等于 right 中的每个元素。 left 和 right 都是非空的。 left 要尽可能小。 在完成这样的分组后返回…

彻底理解正向代理、反向代理、透明代理

套用古龙武侠小说套路来说&#xff0c;代理服务技术是一门很古老的技术&#xff0c;是在互联网早期出现就使用的技术。一般实现代理技术的方式就是在服务器上安装代理服务软件&#xff0c;让其成为一个代理服务器&#xff0c;从而实现代理技术。常用的代理技术分为正向代理、反…

使用showMessageDialog显示消息框

-----------------siwuxie095 工程名&#xff1a;TestJOptionPane 包名&#xff1a;com.siwuxie095.showdialog 类名&#xff1a;TestMessageDialog.java 工程结构目录如下&#xff1a; 代码&#xff1a; package com.siwuxie095.showdialog; import java.awt.BorderLayout;…

将Javascript带到边缘设备

Smart devices today are very similar to labour-saving gadgets a generation ago: Where previously everything got a power cord, now everything gets a chip. 如今的智能设备与上一代的省力小工具非常相似&#xff1a;以前所有设备都配有电源线&#xff0c;而现在所有设…

java 泛型 父子_使用通配符和泛型:完成父子类关系的List对象的类型匹配

泛型和通配符使用泛型和通配符都可以让一个方法所表示的算法逻辑适应多种类型。Java中具备继承关系的类A、B(A extends B)它们的集合List和List之间是没有继承关系的&#xff0c;可以使用泛型或通配符来让一个方法支持同时接受List和List。代码场景这里分别定义类Animal、Dog和…

重定向描述符

文件描符 缩写 描述 0 STDIN 标准输入 1 STDOUT 标准输出 2 STDERR 标准错误 1、重定向错误和数据 1234[rootlogicserver tmp]# ls -al data1 haha 2> qingyun.txt 1&g…

NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证

目录 开发环境  1、建立工程  2、目录结构  3、Express配置文件  4、Ejs模板  5、安装常用库及页面分离  6、路由  7、session  8、页面访问控制及提示JS是脚本语言&#xff0c;脚本语言都需要一个解析器才能运行。对于写在HTML页面里 的JS&#xff0c;浏览器充…

LeetCode-208 Implement Trie (Prefix Tree)

题目描述 Implement a trie with insert, search, and startsWith methods. 题目大意 实现对一棵树的插入、搜索以及前序查找操作。 &#xff08;树的每个节点代表一个小写字母&#xff0c;从根节点到叶节点代表一个完整的单词&#xff09; 示例 E Trie trie new Trie();trie.…

react组件生命周期_React组件生命周期-挂钩/方法介绍

react组件生命周期React components have several lifecycle methods that you can override to run your code at a particular time in the process.React组件具有几种生命周期方法&#xff0c;您可以重写它们以在流程中的特定时间运行代码。 In this video, Nick Karnik de…