网站照片上传不了怎么办,大二网页设计作业,可信赖的昆明网站建设,珠海哪家做企业网站公司好1. 题目
一个由二进制矩阵表示的图#xff0c;0 表示白色像素点#xff0c;1 表示黑色像素点。 黑色像素点是联通的#xff0c;即只有一块黑色区域。 像素是水平和竖直连接的#xff0c;给一个黑色像素点的坐标 (x, y) #xff0c;返回囊括所有黑色像素点的矩阵的最小面积…1. 题目
一个由二进制矩阵表示的图0 表示白色像素点1 表示黑色像素点。 黑色像素点是联通的即只有一块黑色区域。 像素是水平和竖直连接的给一个黑色像素点的坐标 (x, y) 返回囊括所有黑色像素点的矩阵的最小面积。
样例 1:
输入[0010,0110,0100]x0y2
输出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(vectorvectorchar image, int x, int y) {if(image.empty() || image[0].empty())return 0;queuevectorint 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;vectorvectorint 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 i0dir[k][0];j j0dir[k][1];if(i0 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-l1)*(b-u1);//返回面积}
};100% 数据通过测试 总耗时 646 ms 您的提交打败了 34.20% 的提交!