首页 > 其他分享 >223. 矩形面积

223. 矩形面积

时间:2023-07-01 21:33:06浏览次数:35  
标签:ax2 ax1 int ay1 面积 bx1 矩形 223 ay2

难度中等

给你 二维 平面上两个 由直线构成且边与坐标轴平行/垂直 的矩形,请你计算并返回两个矩形覆盖的总面积。

每个矩形由其 左下 顶点和 右上 顶点坐标表示:

  • 第一个矩形由其左下顶点 (ax1, ay1) 和右上顶点 (ax2, ay2) 定义。
  • 第二个矩形由其左下顶点 (bx1, by1) 和右上顶点 (bx2, by2) 定义。

 

示例 1:

Rectangle Area
输入:ax1 = -3, ay1 = 0, ax2 = 3, ay2 = 4, bx1 = 0, by1 = -1, bx2 = 9, by2 = 2
输出:45

示例 2:

输入:ax1 = -2, ay1 = -2, ax2 = 2, ay2 = 2, bx1 = -2, by1 = -2, bx2 = 2, by2 = 2
输出:16

 

提示:

  • -104 <= ax1, ay1, ax2, ay2, bx1, by1, bx2, by2 <= 104

 

 

class Solution:
    def computeArea(self, ax1: int, ay1: int, ax2: int, ay2: int, bx1: int, by1: int, bx2: int, by2: int) -> int:
        cx1 = max(ax1,bx1)
        cy1 = max(ay1,by1)

        cx2 = min(ax2,bx2)
        cy2 = min(ay2,by2)

        dx = max(0, cx2-cx1)
        dy = max(0, cy2-cy1)
        def get_area(ax1,ax2,ay1,ay2):
            return (ax2-ax1) * (ay2-ay1)
        
        return get_area(ax1,ax2,ay1,ay2) + get_area(bx1,bx2,by1,by2) - dx*dy

 

标签:ax2,ax1,int,ay1,面积,bx1,矩形,223,ay2
From: https://www.cnblogs.com/zle1992/p/17519970.html

相关文章

  • 矩形三维随机裂隙网络。 使用COMSOL with Matlab接口编程
    矩形三维随机裂隙网络。使用COMSOLwithMatlab接口编程。可以直接导入COMSOL中,无需CAD,无需提取数据,方便快捷可以直接计算。裂隙由matlab编程生成,能够生成两组不同产状的裂隙。裂隙长度的分布律可以为确定的裂隙长度,也可以为在一定范围内随机均匀分布的长度。注释十分详细,有运......
  • Distance to Work (牛客多校) (圆和简单多边形相交面积 + 二分半径)
    #include<bits/stdc++.h>usingnamespacestd;constdoubleeps=1e-9;//浮点数精度控制#defineVectorpoint#definePointpointconstdoublePI=acos(-1);structPoint{doublex,y;Point(doublex=0,doubley=0):x(x),y(y){}friendVe......
  • PS 矩形工具的使用
    矩形工具:可以拖动鼠标在绘图区内绘制出所需要的矩形。在PS矩形工具中,有正方形(可拉伸成为长方形)、圆角矩形、椭圆工具、多边形工具、直线工具、多边形工具等(其中多边形工具可在头部预设图形。)另说明一点,矩形工具是矢量图来的。 如图,使用矩形工具图出组合的图形。 如图,使用矩形工具......
  • Unity计算表面积
    要计算在将一个新的长方体放入一堆紧密接触的长方体后,所有长方体的总表面积(去除与其他长方体的接触面积),可以按照以下步骤进行操作:创建一个脚本,并将其附加到包含一堆长方体的游戏对象上。在脚本中定义一个数组或集合来存储每个长方体的碰撞器组件。在适当的时候(例如,在新增长方......
  • 2023.6.25 圆和矩形是否有重叠
    原问题可以转换为,判断圆心到矩形的最短距离是否小于等于半径。根据这张图,可以得到矩形到圆心的距离是\(\sqrt{x^2+y^2}\),其中x和y分别是圆心和矩形的横纵坐标之差。求横纵坐标之差其实也很简单,以横坐标为例,圆心的坐标为x,矩形的坐标是x1和x2。那么就是\(min(|x-x_1|,|x-......
  • LeetCode--矩形走位
    59. 螺旋矩阵II定义一个总数,是所有格子走完中心的最大数,target=n*n从1开始,每走一步,当前数+1,while(curNum<=target)就继续走定义每圈螺旋走位的边界,初始值:left=0;right=n-1;top=0;bottom=n-1;1、在顶部一行从左到右走,从left走到right由于占了顶部一行......
  • C#实现中间挖空的矩形,中间透明的矩形
    using(SolidBrushbrush=newSolidBrush(Color.FromArgb(125,Color.Black))){GraphicsPathpath=newGraphicsPath();path.AddRectangle(pnlCut.Bounds);//添加要填充的矩形Regionregion......
  • 【滤波器设计】基于汉明窗,汉宁窗,布莱克曼窗 矩形窗设计低通FIR滤波器附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • [C++/PTA] 计算正方体、圆柱体的表面积、体积
    题目要求从立方体、圆柱体抽象出一个公共基类Container,定义抽象类Container,模拟实现一个容器类层次结构,在主函数进行多态机制测试。各派生类要求实现基类的所有纯虚函数。抽象类classContainer{protected:staticdoublepi;public:virtualdoublearea()=0;//纯虚函数,计......
  • AtCoder Beginner Contest 223 H Xor Query
    洛谷传送门AtCoder传送门考虑一个无脑做法:线段树维护区间线性基。时间复杂度是\(O(m\logn\log^2V)\),过于优秀以至于无法接受。事实上我们并不需要维护区间线性基,因为不带修。考虑“可持久化线性基”,开\(n\)个线性基,第\(i\)个维护前缀\([1,i]\)的数。并且插入线性......