题目:
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.
![Rectangle Area](https://leetcode.com/static/images/problemset/rectangle_area.png)
Assume that the total area is never beyond the maximum possible value of 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 C<E or D<F or G<A or H<B : #两个矩形不相交,直接返回两个矩形面积之和
return (C-A)*(D-B)+(G-E)*(H-F)
else :
x = min(C,G)-max(A,E) #公共矩形的长
y = min(D,H)-max(B,F) #公共矩形的宽
return (C-A)*(D-B)+(G-E)*(H-F)-x*y #两个大矩形面积减去公共矩形面积
笔记:
刚开始没理解题意,以为是让求两个矩形相交区域的面积,提交一次失败,去网上看其他人方法的时候才明白,是求两个矩形覆盖的面积之和。