LeetCode 750. 角矩形的数量(DP)
文章目录
- 1. 题目
- 2. 解题
1. 题目
给定一个只包含 0 和 1 的网格,找出其中角矩形的数量。
一个「角矩形」是由四个不同的在网格上的 1 形成的轴对称的矩形。
注意只有4角的位置才需要为 1。并且,4 个 1 需要是不同的。
示例 1:
输入:grid =
[[1, 0, 0, 1, 0],[0, 0, 1, 0, 1],[0, 0, 0, 1, 0],[1, 0, 1, 0, 1]]
输出:1
解释:只有一个角矩形,角的位置为 grid[1][2], grid[1][4], grid[3][2], grid[3][4]。示例 2:
输入:grid =
[[1, 1, 1],[1, 1, 1],[1, 1, 1]]
输出:9
解释:这里有 4 个 2x2 的矩形,4 个 2x3 和 3x2 的矩形和 1 个 3x3 的矩形。示例 3:
输入:grid =
[[1, 1, 1, 1]]
输出:0
解释:矩形必须有 4 个不同的角。提示:
网格 grid 中行和列的数目范围为 [1, 200]。
每个网格 grid[i][j] 中的值不是 0 就是 1 。
网格中 1 的个数不会超过 6000。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/number-of-corner-rectangles
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
dp[c1][c2]
表示两列为 c1, c2 的时候,前缀n行的该两列同时为1的次数
class Solution {public:int countCornerRectangles(vector<vector<int>>& grid) {int m = grid.size(), n = grid[0].size(), r, c1, c2, count = 0;vector<vector<int>> dp(n, vector<int>(n, 0));for(r = 0; r < m; ++r){for(c1 = 0; c1 < n; ++c1){if(grid[r][c1]){for(c2 = c1+1; c2 < n; ++c2){if(grid[r][c2]){count += dp[c1][c2];dp[c1][c2]++;}}}}}return count;}
};
184 ms 22.7 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
LeetCode 750. 角矩形的数量(DP)相关推荐
- Leetcode 750.角矩形的数量
Time: 20190904 Type: Medium 题目描述 给定一个只包含 0 和 1 的网格,找出其中角矩形的数量. 一个 角矩形是由四个不同的在网格上的 1 形成的轴对称的矩形.注意只有角的 ...
- LeetCode 486. 预测赢家(博弈DP)
文章目录 1. 题目 2. 解题 1. 题目 给定一个表示分数的非负整数数组. 玩家 1 从数组任意一端拿取一个分数,随后玩家 2 继续从剩余数组任意一端拿取分数,然后玩家 1 拿,-- . 每次一个 ...
- [LeetCode]小工具,统计数量,隐藏上锁的题目
LeetCode Problems List没有统计数量的功能,顺手写了一个. 下面两段只是用jquery调整网页上显示的内容,刷新网页就没用了. 比如想看题目里一共有多少Easy, Medium和H ...
- html中切角文本框,HTML/CSS实现切角矩形效果
非纯色背景下切角矩形的效果图如下: HTML: CSS: .top-box { position: relative; display: block; width: 90%; min-height: ...
- P1719 最大加权矩形(二维dp)
P1719 最大加权矩形(二维dp) 原题戳这里 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑 ...
- 51nod3398 矩形的数量V6
3398 矩形的数量V6 小明有一个m*n的棋格,他想让你求出其中矩形的数量.但他不希望第u行第v列的格子包含在矩形当中,请你帮帮他.小明还希望你将得到的结果对1000000007取模. ...
- Android的增强版android.widget.ProgressBar,带数字的水平滚动条(支持长方形、平行四边形及椭圆角矩形)等
EnhancedProgressBar Android的增强版android.widget.ProgressBar,带数字的水平滚动条(支持长方形.平行四边形及椭圆角矩形),继承自android.wi ...
- CSS3实现缺角矩形
CSS3实现缺角矩形 前言 一.实现的最终效果 二.多种实现方式举例 1.最low的方式:拿div通过旋转定位盖死一个角 2.也很low的方式:使用div对象的before.after伪元素实现 3. ...
- 循序渐进实现仿QQ界面(一):园角矩形与双缓冲贴图窗口
印象里仿QQ界面的程序应该有很多,搜了一下,虽然出来一大堆,排除了重复的,却只有两三个,没我想象的好.经常看到CSDN上有人问,QQ这个功能怎么实现,那个界面怎么实现,归纳了一下,决定写这么一个仿QQ ...
最新文章
- linux dev controlC0,关于Linux的alsa音频问题解决
- 解决 “message“:“An invalid response was received from the upstream server“
- 基于反向代理的Web缓存应用-可缓存的CMS系统设计
- 科技谋定功能性农业-农业大健康:中科微研携手从玉农业
- 洛谷P2680:运输计划(倍增、二分、树上差分)
- 【转】__declspec用法详解
- 从零开始学Pytorch(九)之批量归一化和残差网络
- 【报告分享】如何嫁给“改变世界的男人”-程序员之理想女友大调查.pdf(附下载链接)...
- Silverlight 中的 CoreCLR
- PS 图像调整算法——自动色阶 (Auto Levels)
- java简单入门教程_史上最快速最简单的java入门教程
- iOS 仿微信语音输入动画
- python opencv图片拼接
- 用Keil uVision5创建纯汇编语言的STM32工程
- CentOS的 Oracle 11g R2安装
- 如何查看office是否是永久激活
- 如何成为羽毛球高手?你距离一个真正的羽毛球高手还有多远?
- ICLR 2022:​PiCO,基于对比消歧的偏标签学习 丨AI Drive
- 【Canvas】js用Canvas绘制阴阳太极图动画效果
- kindeditor图片上传 jsp版
热门文章
- 全国计算机vb考试经典程序设计,全国计算机二级《VB语言程序设计》考试要点...
- c语言结构体中整形数组初始化,c – 将{0,0}在结构体中初始化数组?
- 第二季4:HI_S32 SAMPLE_VENC_1080P_CLASSIC(HI_VOID)函数的分析
- VS2015配置环境支持opencv3库(网络方法总结)
- ASP.NET获取路径的方法
- iOS: 属性声明strong和retain竟然不一样
- PASCAL不仅仅是语言
- 《塔木德智慧全书》(之四)
- rtp 实时传输协议
- std::make_shared<T>/std::make_unique<T>与std::shared_ptr<T>/std::unique_ptr<T>的区别与联系