Rectangle Area

来源:互联网 发布:中国邮政网络银行 编辑:程序博客网 时间:2024/05/22 10:44

如图,计算两个矩形所包含的面积。
fig
如果两个矩形相交,则减去相交的小的矩形的面积。

相交无外乎以下几种情况
这里写图片描述
重要的是确定相交的小矩形的左下,右上两个坐标。

class Solution:    # @param {integer} A    # @param {integer} B    # @param {integer} C    # @param {integer} D    # @param {integer} E    # @param {integer} F    # @param {integer} G    # @param {integer} H    # @return {integer}    def computeArea(self, A, B, C, D, E, F, G, H):        area1=(C-A)*(D-B)        area2=(G-E)*(H-F)        area_overlapped=0        print 'area1:',area1        print 'area2:',area2        x_overlapped=(A-G)*(C-E)        y_overlapped=(B-H)*(D-F)        if x_overlapped>=0 or y_overlapped>=0: #x and y not overlap            return area1+area2        else :            x1=max(A,E)            y1=max(B,F)            x2=min(C,G)            y2=min(D,H)            area_overlapped=(x2-x1)*(y2-y1)            print 'overlap:',area_overlapped            return area1+area2-area_overlapped
0 0
原创粉丝点击