珠海手机网站建设费用,上海网页制作步骤,临沂网站关键词,网站主机提供商文章目录1. 题目2. 解题1. 题目
图片在计算机处理中往往是使用二维矩阵来表示的。
假设#xff0c;这里我们用的是一张黑白的图片#xff0c;那么 0 代表白色像素#xff0c;1 代表黑色像素。
其中黑色的像素他们相互连接#xff0c;也就是说#xff0c;图片中只会有一…
文章目录1. 题目2. 解题1. 题目
图片在计算机处理中往往是使用二维矩阵来表示的。
假设这里我们用的是一张黑白的图片那么 0 代表白色像素1 代表黑色像素。
其中黑色的像素他们相互连接也就是说图片中只会有一片连在一块儿的黑色像素像素点是水平或竖直方向连接的。
那么给出某一个黑色像素点 (x, y) 的位置你是否可以找出包含全部黑色像素的最小矩形与坐标轴对齐的面积呢
示例:
输入:
[0010,0110,0100
]
和 x 0, y 2输出: 6来源力扣LeetCode 链接https://leetcode-cn.com/problems/smallest-rectangle-enclosing-black-pixels 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
简单的模板题BFS、DFS都可以做找两个方向坐标的极限值
class Solution {int x1 INT_MAX, x2 -1;int y1 INT_MAX, y2 -1;
public:int minArea(vectorvectorchar image, int x, int y) {int m image.size(), n image[0].size(), i, j, nx, ny, k;vectorvectorint dir {{1,0},{0,1},{0,-1},{-1,0}};queuevectorint q;q.push({x,y});image[x][y] 0;//访问过了while(!q.empty()){i q.front()[0];j q.front()[1];q.pop();x1 min(x1, i);x2 max(x2, i);y1 min(y1, j);y2 max(y2, j);for(k 0; k 4; k){nx i dir[k][0];ny j dir[k][1];if(nx0 nxm ny0 nyn image[nx][ny]1){q.push({nx, ny});image[nx][ny] 0;//访问过了}}}return (x2-x11)*(y2-y11);}
};84 ms 14 MB 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步