您的位置:首页 > 编程语言 > Python开发

<LeetCode><Easy>223 Rectange Area

2015-10-15 10:27 483 查看
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.



Assume that the total area is never beyond the maximum possible value of int.
#Python2  112ms
#先假设相交或者一个矩形在另一个内部。那么x的中间两个值 与 y 的中间两个值构造的矩形必然落在任意一个矩形之中。不落在其中,则相离。
class Solution(object):
def computeArea(self, A, B, C, D, E, F, G, H):
S12=(C-A)*(D-B)+(G-E)*(H-F)
x,y=sorted([A,C,E,G]),sorted([B,D,F,H])
if x[1]>=A and x[2]<=C and y[1]>=B and y[2]<=D: #overlap
return S12-(x[2]-x[1])*(y[2]-y[1])
return S12 #off
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python leetcode