本文主要是介绍leetcode223. Rectangle Area,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 Sumelse: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
这篇关于leetcode223. Rectangle Area的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!