求最小矩形

有一个网格,原点为(0,0),现在有n个矩形,随机分布在网格上,求覆盖所有矩形的最小矩形

解题思路

1. 求出n个矩形中的最小起始点
2. 求出n个矩形中最大的x、y的结束点

代码实现

const rectangleSize = (ary) => {
    let minX = 0,minY = 0, maxX = 0, maxY = 0
    ary.forEach(item => {
        if (minX > item.x) minX = item.x;
        if (minY > item.y) minX = item.y;
        if (maxX < item.x + item.width) maxX = item.x + item.width;
        if (minY < item.y + item.height) maxY = item.y + item.height;
    })
    retrun { x: minX, y: minY,  width: maxX - minX,  height: maxY - minY }
}

你可能感兴趣的:(求最小矩形)