文章目录

  • 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)相关推荐

  1. Leetcode 750.角矩形的数量

    Time: 20190904 Type: Medium 题目描述 给定一个只包含 0 和 1 的网格,找出其中角矩形的数量. 一个 角矩形是由四个不同的在网格上的 1 形成的轴对称的矩形.注意只有角的 ...

  2. LeetCode 486. 预测赢家(博弈DP)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个表示分数的非负整数数组. 玩家 1 从数组任意一端拿取一个分数,随后玩家 2 继续从剩余数组任意一端拿取分数,然后玩家 1 拿,-- . 每次一个 ...

  3. [LeetCode]小工具,统计数量,隐藏上锁的题目

    LeetCode Problems List没有统计数量的功能,顺手写了一个. 下面两段只是用jquery调整网页上显示的内容,刷新网页就没用了. 比如想看题目里一共有多少Easy, Medium和H ...

  4. html中切角文本框,HTML/CSS实现切角矩形效果

    非纯色背景下切角矩形的效果图如下: HTML: CSS: .top-box { position: relative; display: block; width: 90%; min-height: ...

  5. P1719 最大加权矩形(二维dp)

    P1719 最大加权矩形(二维dp) 原题戳这里 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑 ...

  6. 51nod3398 矩形的数量V6

    ​​​​​​3398 矩形的数量V6 小明有一个m*n的棋格,他想让你求出其中矩形的数量.但他不希望第u行第v列的格子包含在矩形当中,请你帮帮他.小明还希望你将得到的结果对1000000007取模. ...

  7. Android的增强版android.widget.ProgressBar,带数字的水平滚动条(支持长方形、平行四边形及椭圆角矩形)等

    EnhancedProgressBar Android的增强版android.widget.ProgressBar,带数字的水平滚动条(支持长方形.平行四边形及椭圆角矩形),继承自android.wi ...

  8. CSS3实现缺角矩形

    CSS3实现缺角矩形 前言 一.实现的最终效果 二.多种实现方式举例 1.最low的方式:拿div通过旋转定位盖死一个角 2.也很low的方式:使用div对象的before.after伪元素实现 3. ...

  9. 循序渐进实现仿QQ界面(一):园角矩形与双缓冲贴图窗口

    印象里仿QQ界面的程序应该有很多,搜了一下,虽然出来一大堆,排除了重复的,却只有两三个,没我想象的好.经常看到CSDN上有人问,QQ这个功能怎么实现,那个界面怎么实现,归纳了一下,决定写这么一个仿QQ ...

最新文章

  1. linux dev controlC0,关于Linux的alsa音频问题解决
  2. 解决 “message“:“An invalid response was received from the upstream server“
  3. 基于反向代理的Web缓存应用-可缓存的CMS系统设计
  4. 科技谋定功能性农业-农业大健康:中科微研携手从玉农业
  5. 洛谷P2680:运输计划(倍增、二分、树上差分)
  6. 【转】__declspec用法详解
  7. 从零开始学Pytorch(九)之批量归一化和残差网络
  8. 【报告分享】如何嫁给“改变世界的男人”-程序员之理想女友大调查.pdf(附下载链接)...
  9. Silverlight 中的 CoreCLR
  10. PS 图像调整算法——自动色阶 (Auto Levels)
  11. java简单入门教程_史上最快速最简单的java入门教程
  12. iOS 仿微信语音输入动画
  13. python opencv图片拼接
  14. 用Keil uVision5创建纯汇编语言的STM32工程
  15. CentOS的 Oracle 11g R2安装
  16. 如何查看office是否是永久激活
  17. 如何成为羽毛球高手?你距离一个真正的羽毛球高手还有多远?
  18. ICLR 2022:​PiCO,基于对比消歧的偏标签学习 丨AI Drive
  19. 【Canvas】js用Canvas绘制阴阳太极图动画效果
  20. kindeditor图片上传 jsp版

热门文章

  1. 全国计算机vb考试经典程序设计,全国计算机二级《VB语言程序设计》考试要点...
  2. c语言结构体中整形数组初始化,c – 将{0,0}在结构体中初始化数组?
  3. 第二季4:HI_S32 SAMPLE_VENC_1080P_CLASSIC(HI_VOID)函数的分析
  4. VS2015配置环境支持opencv3库(网络方法总结)
  5. ASP.NET获取路径的方法
  6. iOS: 属性声明strong和retain竟然不一样
  7. PASCAL不仅仅是语言
  8. 《塔木德智慧全书》(之四)
  9. rtp 实时传输协议
  10. std::make_shared<T>/std::make_unique<T>与std::shared_ptr<T>/std::unique_ptr<T>的区别与联系