[leetcode] 223. Rectangle Area @ python

版权声明:版权归个人所有,未经博主允许,禁止转载 https://blog.csdn.net/danspace1/article/details/86655480

原题

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)

猜你喜欢

转载自blog.csdn.net/danspace1/article/details/86655480