1. 题目

一个由二进制矩阵表示的图,0 表示白色像素点,1 表示黑色像素点。
黑色像素点是联通的,即只有一块黑色区域。
像素是水平和竖直连接的,给一个黑色像素点的坐标 (x, y) ,返回囊括所有黑色像素点的矩阵的最小面积

样例 1:
输入:["0010","0110","0100"],x=0,y=2
输出:6
解释:
矩阵左上角坐标是(0, 1), 右下角的坐标是(2, 2)样例 2:
输入:["1110","1100","0000","0000"], x = 0, y = 1
输出:6
解释:
矩阵左上角坐标是(0,  0), 右下角坐标是(1, 2)

2. 解题

  • 广度优先搜索所有的黑点
  • 记录坐标的4个方向的极限值
class Solution {public:int minArea(vector<vector<char>> &image, int x, int y) {if(image.empty() || image[0].empty())return 0;queue<vector<int>> q;q.push({x,y});image[x][y] = 'v';//标记走过了int m = image.size(), n = image[0].size();int l = x, r = x, u = y, b = y, i, j, k, i0, j0;vector<vector<int>> dir = {{0,1},{0,-1},{1,0},{-1,0}};//方向while(!q.empty()){i0 = q.front()[0];j0 = q.front()[1];q.pop();for(k = 0; k < 4; ++k){i = i0+dir[k][0];j = j0+dir[k][1];if(i>=0 && i < m && j >=0&& j < n && image[i][j] != '0' && image[i][j] != 'v'){q.push({i,j});image[i][j]='v';l = min(l,i);//记录极限位置r = max(r,i);u = min(u,j);b = max(b,j);}}}return (r-l+1)*(b-u+1);//返回面积}
};

100% 数据通过测试
总耗时 646 ms
您的提交打败了 34.20% 的提交!

LintCode 600. 包裹黑色像素点的最小矩形(BFS)相关推荐

  1. 包裹黑色像素点的最小矩形_融合设计:为什么所有电话都是黑色矩形

    包裹黑色像素点的最小矩形 Today we're going to talk about something you've probably noticed, but never put into w ...

  2. LeetCode 302. 包含全部黑色像素的最小矩形(BFS)

    文章目录 1. 题目 2. 解题 1. 题目 图片在计算机处理中往往是使用二维矩阵来表示的. 假设,这里我们用的是一张黑白的图片,那么 0 代表白色像素,1 代表黑色像素. 其中黑色的像素他们相互连接 ...

  3. BZOJ 1185: [HNOI2007]最小矩形覆盖 [旋转卡壳]

    1185: [HNOI2007]最小矩形覆盖 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special Judge Submit: 1435  Solv ...

  4. hdu5251最小矩形覆盖

    题意(中问题直接粘吧) 矩形面积 Problem Description 小度熊有一个桌面,小度熊剪了很多矩形放在桌面上,小度熊想知道能把这些矩形包围起来的面积最小的矩形的面积是多少. Input 第 ...

  5. [HNOI2007]最小矩形覆盖(旋转卡壳)

    题意 给定一些点的坐标,要求求能够覆盖所有点的最小面积的矩形,输出所求矩形的面积和四个顶点坐标 题解 先求得一个凸包 可以知道对于凸包每一条边,其对应一个最小矩形覆盖,而凸包整体最小矩形覆盖在这个解之 ...

  6. python半径为3圆形区域边界曲线_OpenCV 学习笔记03 边界框、最小矩形区域和最小闭圆的轮廓...

    本节代码使用的opencv-python 4.0.1,numpy 1.15.4 + mkl 使用图片为 Mjolnir_Round_Car_Magnet_300x300.jpg 代码如下: impor ...

  7. 项目记录一:用Python识别图片中指定颜色标记块并绘制其最小矩形框以及坐标点

    记录准研一小白第一次动手实践课题组师姐安排的任务,非常感谢CSDN前辈们所撰写的博客对我的帮助. 一.项目背景 如图所示,有这样一张现场勘测的图片,要实现绘制出图中三个黄色标记块的最小矩形框以及左上角 ...

  8. MATLAB寻找最小矩形区域

    对于一个倾斜的矩形或不规则单连通域,找出其最小矩形,并将其旋转到X,Y坐标系平行位置.如:将 下图蓝色矩形区范围内的黑色区域旋转至,蓝色矩形的边平行于X,Y坐标系. 代码1 图像以固定的步幅进行旋转, ...

  9. 【BZOJ1185】【HNOI2007】最小矩形覆盖(凸包+旋转卡壳)

    传送门 题意:求最小矩阵覆盖 有这样一个结论:矩阵一定有一条边在凸包上(不会证) 那可以枚举每条边 同时旋转卡壳 只是这时不只维护一个对踵点对,同时在左右侧再维护一个最远点 可以发现左右最远点一定是和 ...

最新文章

  1. Oracle11g新特性导致空表不能导出问题
  2. 关于伺服驱动控制的课本_西门子伺服电机驱动系列汇总,说明书参数及使用方法。...
  3. 【测试】小龟小车A2裸板下载arduino程序
  4. linux卸载es,Ubuntu卸载elasticsearch
  5. 谈谈HashMap线程不安全的体现
  6. 记录知识点或技术方案信息
  7. 浅谈Spring的AOP实现-代理机制
  8. 建议设计日常多逛,多学习的网站
  9. 项目启动后去除项目标题,去除时间与状态栏Android
  10. 漏洞自动扫描神器AWVS 11安装与使用教程
  11. mtkwin10驱动_Windows系统MTK手动安装驱动教程(Win10通用)
  12. 安全篇 ━━ ITlearner ASP探针 V1.2
  13. 通讯录 C语言分类,C语言 通讯录
  14. 万年历,阴阳历转换。
  15. Adobe国际认证证书是个什么东东,有什么用啊?
  16. 路由器mw320虚拟服务器,新版水星MW320R路由器怎么设置_新版水星MW320R路由器设置教程-192路由网...
  17. SpringCloud Alibaba Senta处理分布式事务
  18. DIV简单个人静态HTML网页设计作品 WEB静态个人介绍网页模板代码 DW个人网站制作成品 期末网页制作与实现
  19. 销 售 中 的 异 议
  20. 稳了!25K!腾讯数据分析岗!

热门文章

  1. 下载java后缀的文件闪退_关于jarfile 打开闪退问题
  2. Machine Learning(Stanford)| 斯坦福大学机(吴恩达)器学习笔记【汇总】
  3. stm32c语言设计以及注释,13个基于STM32的经典项目设计实例,全套资料~-嵌入式系统-与非网...
  4. xampp php5.6 7.1共存,New XAMPP with PHP 7.2.8, 7.1.20, 7.0.31 5.6.37
  5. file_operations结构体
  6. CentOS 7.3 系统安装配置图解教程
  7. 【BZOJ3514】Codechef MARCH14 GERALD07加强版 LCT+主席树
  8. flatpickr功能强大的日期时间选择器插件
  9. iOS中self.xxx 和 _xxx 下划线的区别
  10. SQLSERVER字符串截取------STUFF