Leetcode练习(Python):数学类:第223题:矩形面积:在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。 每个矩形由其左下顶点和右上顶点坐标表示,如图所示。

题目:
矩形面积:在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。  每个矩形由其左下顶点和右上顶点坐标表示,如图所示。
Leetcode练习(Python):数学类:第223题:矩形面积:在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。  每个矩形由其左下顶点和右上顶点坐标表示,如图所示。

说明: 假设矩形面积不会超出 int 的范围。

思路:
中学应用题,按照思路就可以求解了。
程序:
class Solution:
    def computeArea(self, A: int, B: int, C: int, D: int, E: int, F: int, G: int, H: int) -> int:
        area_origin = abs(C - A) * abs(D - B) + abs(G - E) * abs(H - F)
        if C <= E or G <= A or D <= F or H <= B:
            return area_origin
        else:
            repeatedArea_x = min(C, G) - max(A, E)
            repeatedArea_y = min(D, H) - max(B, F)
            area = area_origin - abs(repeatedArea_x) * abs(repeatedArea_y)
            return area