原题
https://leetcode.com/problems/rectangle-area/
解法
参考: Python concise solution.
数学, 两个矩形面积的和 - 重叠的面积. 重叠面积采用公式计算
代码
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
"""
a1 = self.getArea(A, B, C, D)
a2 = self.getArea(E, F, G, H)
# get the overlapped area
a3 = max(min(C, G) - max(A, E), 0)* max(min(D, H) - max(B, F), 0)
return a1 + a2 - a3
def getArea(self, x1, y1, x2, y2):
return (x2-x1)*(y2-y1)