折叠
展开

Leetcode 223. 矩形面积

二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。

每个矩形由其左下顶点和右上顶点坐标表示,如图所示。

示例:

输入: -3, 0, 3, 4, 0, -1, 9, 2
输出: 45

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

这里和Leetcode 836. 矩形重叠是同一类型的题,

在上一次已经提交了IOu的概念,这里直接贴上代码,注意点事,没有交集的时候,面积事特例

def computeArea(A, B, C, D, E, F, G, H):
    left_max = max(A, E)
    right_min = min(C, G)

    up_min = min(D, H)
    down_max = max(B, F)

    if left_max <= right_min and up_min >= down_max:
        h = right_min - left_max
        w = up_min - down_max
        centor = w * h
        return (D - B) * (C - A) + (G - E) * (H - F) - centor
    else:
        return (D - B) * (C - A) + (G - E) * (H - F)

参考链接

Leetcode 836. 矩形重叠:https://www.cnblogs.com/TuringEmmy/p/12519036.html

Leetcode 836. 矩形重叠https://blog.csdn.net/sinat_26745777/article/details/104953543

代码:https://github.com/TuringEmmy/LeetCode-Algorithm-/blob/master/Day-Day-Up/矩形面积.py

posted on 2020-03-18 21:54  TuringEmmy  阅读(160)  评论(0编辑  收藏  举报

导航