Leetcode练习(Python):数学类:第223题:矩形面积:在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。 每个矩形由其左下顶点和右上顶点坐标表示,如图所示。
题目:
矩形面积:在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。 每个矩形由其左下顶点和右上顶点坐标表示,如图所示。
说明: 假设矩形面积不会超出 int 的范围。
思路:
中学应用题,按照思路就可以求解了。
程序:
class Solution:
def computeArea(self, A: int, B: int, C: int, D: int, E: int, F: int, G: int, H: int) -> int:
area_origin = abs(C - A) * abs(D - B) + abs(G - E) * abs(H - F)
if C <= E or G <= A or D <= F or H <= B:
return area_origin
else:
repeatedArea_x = min(C, G) - max(A, E)
repeatedArea_y = min(D, H) - max(B, F)
area = area_origin - abs(repeatedArea_x) * abs(repeatedArea_y)
return area
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步