在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。
每个矩形由其左下顶点和右上顶点坐标表示,如图所示。
示例:
输入: -3, 0, 3, 4, 0, -1, 9, 2
输出: 45
说明: 假设矩形面积不会超出 int 的范围。
【中等】
【分析】这道题必须要有条理地写才简单,否则就会感觉很乱。
class Solution(object):
def computeArea(self, A, B, C, D, E, F, G, H):
"""
:type A: int
:type B: int
:type C: int
:type D: int
:type E: int
:type F: int
:type G: int
:type H: int
:rtype: int
"""
if A>E:
return self.computeArea( E, F, G, H,A, B, C, D )
if D<=F or C<=E or B>=H:
return (C-A)*(D-B)+(G-E)*(H-F)
else:
l=max(A,E)
d=max(B,F