223. 矩形面积(矩形面积并简单版)

Posted Harris-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了223. 矩形面积(矩形面积并简单版)相关的知识,希望对你有一定的参考价值。

223. 矩形面积 (矩形面积并简单版)

两个矩形的面积并,可以用两矩形面积之和减去重叠部分面积。

关键在于求重叠面积,因为重叠部分也是矩形。

考虑分别向 x , y x,y x,y轴投影。

求出两个投影长度,若有一个小于0则重叠面积为0.

否则重叠面积等于: x l e n × y l e n xlen\\times ylen xlen×ylen

另外此题可以还可以分类讨论以下,先找到靠左的矩形,然后分5种情况讨论即可。

class Solution {
public:
    int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {
        int lx=max(ax1,bx1),rx=min(ax2,bx2);
        int ly=max(ay1,by1),ry=min(ay2,by2);
        int tot=(ax2-ax1)*(ay2-ay1)+(bx2-bx1)*(by2-by1);
        return tot-max(0,rx-lx)*(max(0,ry-ly));
    }
};

以上是关于223. 矩形面积(矩形面积并简单版)的主要内容,如果未能解决你的问题,请参考以下文章

No223矩形面积 java

No223矩形面积 java

LeetCode 223. 矩形面积(Rectangle Area)

leetcode 223. 矩形面积

[LeetCode] 223.矩形面积

LeetCode 223 矩形面积[数学] HERODING的LeetCode之路