在Javascript中查找2D数组中连续1的所有矩形的坐标
我发现了许多问题,询问如何在2D数组中找到最大的连续矩形,有些问题询问矩形的数量,但只有一个问题涉及在1和0的2D中找到覆盖1s区域所需的所有矩形的坐标、宽度和高度 这个问题有一个解决方案,但很难理解,因为它引用了一个外部代码块 我正在处理组成字母像素的2D数组: 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0在Javascript中查找2D数组中连续1的所有矩形的坐标,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我发现了许多问题,询问如何在2D数组中找到最大的连续矩形,有些问题询问矩形的数量,但只有一个问题涉及在1和0的2D中找到覆盖1s区域所需的所有矩形的坐标、宽度和高度 这个问题有一个解决方案,但很难理解,因为它引用了一个外部代码块 我正在处理组成字母像素的2D数组: 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0这里有一种使用简单算法的方法 计算矩形->A所覆盖的总面积 而到目前为止发现的矩形面积小于 找到一个新的矩形 找到左上角,扫描矩阵并在找到的第一个1处停止 找到右下角,从左上角开始,扫描矩阵并在找到的第一个0处停止 通过将每个单元格设置为1以外的值来标记找到的矩形 将其面积添加到累积面积中 将矩形推送到列表中 常数矩阵=[ [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0],//0 [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0],//1 [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0],//2 [0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],//3 [0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],//4 [0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],//5 [0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],//6 [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0],//7 [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0],//8 [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0],//9 [0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],//10 [0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],//11 [0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],//12 [0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],//13 [0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],//14 [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0],//15 [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0],//16 [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0] //17 ]; 常数W=mat[0]。长度; 常数H=材料长度; //用矩形覆盖该区域 设总面积=0; 对于let i=0;i