leetcode223-矩形面积

矩形面积

  • 计算重叠面积

重叠面积计算方法如下:重叠部分如果有的话肯定是一个矩形,这个矩形的左边界是两个矩形的左边界取较大值,右边界是两个矩形的右边界取较小值。上下边界同理。这样可以计算出重叠部分的面积,返回结果为总面积减去重叠部分面积即可。

class Solution {
    public int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {
        int minx = Math.max(ax1, bx1), maxx = Math.min(ax2, bx2), miny = Math.max(ay1, by1), maxy = Math.min(ay2, by2);
        int cover = minx < maxx && miny < maxy ? (maxx-minx)*(maxy-miny) : 0;
        return (ax2-ax1)*(ay2-ay1)+(bx2-bx1)*(by2-by1)-cover;
    }
}
posted @ 2022-08-25 19:55  xzh-yyds  阅读(46)  评论(0)    收藏  举报