您的位置:首页 > 其它

leetcode223. Rectangle Area

2016-07-10 12:25 411 查看
Find the total area covered by two rectilinear rectangles in a 2D plane.

Each rectangle is defined by its bottom left corner and top right corner as shown in the figure.

问题关键在于重合的部分怎么计算

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
"""
Sum=(G-E)*(H-F)+(D-B)*(C-A)
if G<=A or E>=C or H<=B or F>=D:
return Sum
else:
delta1=max(0,G-A)-max(0,G-C)-max(0,E-A)
delta2=max(0,H-B)-max(0,H-D)-max(0,F-B)
return Sum-delta1*delta2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode