【矩形面积】

article/2025/10/22 15:13:34

题目来源:https://leetcode.cn/problems/rectangle-area/

目录

  • 矩形面积


矩形面积

题目介绍

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

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

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

示例1:
在这里插入图片描述

输入: ax1 = -3, ay1 = 0, ax2 = 3, ay2 = 4, bx1 = 0, by1 = -1, bx2 = 9, by2 = 2
输出: 45
解释: 最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。

示例1:

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

思路:
这是一道偏数学几何的编程题,题目给定两个矩形,要求返回覆盖总面积,所以需要考虑以下几种情况:

  1. 两个矩形相交,总覆盖面积=矩形1+矩形2-重叠面积
    在这里插入图片描述
  2. 两个矩形相交,总覆盖面积=矩形1+矩形2
    在这里插入图片描述
  3. 大矩形包含小矩形,总覆盖面积=max(矩形1, 矩形2)
    在这里插入图片描述

可以发现,有三种情况,有三个公式,所以说每次都需要判断三种情况然后进行计算。这样似乎有点麻烦,其实仔细观察不难发现这三个公司其实可以合并,第二种情况重叠面积为0,所以可以和第一种情况合并,第三种情况重叠面积就是小矩形,所以得出总覆盖面积=大矩形+小矩形-小矩形,还是可以和第一种情况合并,最终得出公式为总覆盖面积=矩形1+矩形2-重叠面积
接下来我们需要把核心放在求重叠面积上。对于第二种情况,我们可以先判断两个矩形是否重叠,这要如何判断呢?不重叠有以下四种情况
1.
在这里插入图片描述
2.
在这里插入图片描述
3.
在这里插入图片描述
4.
在这里插入图片描述

根据上面四个判断就能判断两个矩形是否重叠,如果不重叠,就需要计算重叠矩形面积了,先观察下图:
在这里插入图片描述
通过上图方式可以推导出重叠矩形的左下顶点和右上顶点,这要就可以计算出矩形面积(这个很简单,不用细说了)
根据上面一些推导再结合覆盖面积计算公式即可求出最终答案
代码实现:

class Solution {
public:int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {int area1 = (ay2-ay1)*(ax2-ax1), area2 = (by2-by1)*(bx2-bx1);// 判断是否无重叠if (bx1 >= ax2 || bx2 <= ax1 || by1 >= ay2 || by2 <= ay1) {return area1 + area2;}int overlappingarea = (min(ax2, bx2)- max(ax1, bx1))*(min(ay2, by2)-max(ay1, by1));return area1-overlappingarea+area2;}
};

http://chatgpt.dhexx.cn/article/gMQq74YJ.shtml

相关文章

01. 基于MFC绘制一个彩色正方形

本博文内容是博文基于MFC框架的图像缩放算法示例的一部分(返回目录)。 MFC(Microsoft Foundation Classes)是微软公司提供的一个类库&#xff08;class libraries&#xff09;&#xff0c;以C类的形式封装了Windows的API&#xff0c;并且包含一个应用程序框架以减少应用程序开…

CSS实现正方形

正方形 以前有人问我怎么实现一个正方形&#xff0c;我就很纳闷&#xff01;把块属性width和height设置成一样不就好了吗&#xff01; //这不就是个正方形 .div {width:100px;height:100px }但这不是他想要的答案。也许是考虑到自适应的问题吧。 于是&#xff0c;我想到了最…

“最大正方形”

描述 给定一个由0和1组成的2维矩阵&#xff0c;返回该矩阵中最大的由1组成的正方形的面积&#xff0c;输入的矩阵是字符形式而非数字形式。 数据范围&#xff1a;矩阵的长宽满足 0 \le n \le 200≤n≤20,矩阵中的元素属于 {1,0} 进阶&#xff1a;空间复杂度 O(n^2)O(n2) &am…

无角正方形的绘制

from turtle import* for i in range(3):pu()fd(50)pd()fd(100)pu()fd(50)lt(90) pu() fd(50) pd() fd(100) done()

图形学中画正方形的几种方式

1&#xff09;利用三角形列绘制一个正方形 顺时针划线&#xff0c;每个点都是单个数据源&#xff0c;只能单词使用。因此两个三角形需要六个点&#xff08;哪怕重合也需要六个点&#xff09; 2&#xff09;利用三角形带绘制一个正方形 四个点可组成两个三角形&#xff0c;第一个…

css画个正方形

css画个正方形 方式1方式2html效果参考 方式1 /* 兼容性好 */ .use-transform {width: 10%;height: 0;padding-bottom: 10%;border: 1px solid #000; }方式2 使用 vw: 为什么不用%&#xff1f; % 是相对于父元素的大小设定的比率&#xff0c;body默认的宽度为视窗的宽度&…

怎么用数学绘图软件制作正方体展开动画?

正方体是一个基本的空间几何图形&#xff0c;也是特殊的几何体&#xff0c;它的每个面都是由正方形组成的&#xff0c;那么如何把正方形展开&#xff0c;它的形状是什么样子的呢&#xff1f;展开的图形是唯一的吗&#xff1f;下面就一起来学习用数学绘图软件制作正方体展开动画…

最大正方形问题

最大正方形问题 作者&#xff1a;Grey 原文地址&#xff1a; 博客园&#xff1a;最大正方形问题 CSDN&#xff1a;最大正方形问题 题目描述 在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内&#xff0c;找到只包含 ‘1’ 的最大正方形&#xff0c;并返回其面积。 题目链接见&am…

搞懂正方体展开图

正方体的对称性 观察一个正方体的6个面. 这6个面对于正方体来说是对称的, 这里的对称并非几何或视觉上的对称, 而是一种抽象的对称. 换句话说, 为了研究正方体面的性质, 我们可以任意选择一个面, 对于这个指定面的研究结果, 可以复制到其他5个面上. 因为在指定某一个面之前, 这…

RFM模型以及案例

一.RFM模型定义 百度百科定义:**RFM模型是衡量客户价值和客户创利能力的重要工具和手段。在众多的客户关系管理(CRM)的分析模式中&#xff0c;RFM模型是被广泛提到的。该机械模型通过一个客户的近期购买行为、购买的总体频率以及花了多少钱3项指标来描述该客户的价值状况.* *简…

数据分析——RFM模型

目录 一、RFM模型概述R值&#xff1a;最近一次消费&#xff08;Recency&#xff09;F值&#xff1a;消费频率&#xff08;Frequency&#xff09;M值&#xff1a;消费金额&#xff08;Monetary&#xff09; 二、基于RFM模型的实践应用1、基于RFM模型进行客户细分2、通过RFM模型评…

RFM模型与Spark实现

RFM模型与Spark实现 RMF模型什么是RMF模型给R、F、M按价值打分基于RFM模型的用户价值划分 代码实现 RMF模型 什么是RMF模型 R最近一次消费时间&#xff1a;R越小&#xff0c;客户价值越高F消费频率&#xff1a;F值会受到品类的影响&#xff0c;不适合做跨类目比较M消费金额&a…

RFM模型实战

什么是RFM模型 RFM模型是衡量客户价值和客户创利能力的重要工具。该模型通过一个客户的近期购买行为、购买的总体频率&#xff0c;以及花了多少钱三项指标来描述该客户的价值状况。 如何构建RFM模型 最近一次消费 (Recency) 最近一次消费意指上一次购买的时间——用户上一次…

RFM模型总结

RFM模型 1. 什么是RFM模型&#xff1f;2. RFM有什么作用&#xff1f;3. 怎么构建RFM模型 1. 什么是RFM模型&#xff1f; RFM名词解释 R&#xff1a;最近一次消费&#xff08;recency&#xff09; 代表用户距离当前最后一次消费的时间 反向值 R越大 用户价值越低F&#xff1a;消…

tableau-RFM模型

解释 R-最近一次消费&#xff08;Recency&#xff09;&#xff0c;通常影响因素为店铺的记忆强度&#xff0c;接触机会的多少&#xff0c;回购周期等。这个指标会用于决定客户接触策略&#xff0c;接触频次&#xff0c;刺激力度等。 F-消费频率&#xff08;Frequency&#xf…

【笔记】电商RFM模型

一、理论基础 &#xff08;1&#xff09;RFM模型 R&#xff1a;Recency 最近一次购买–付款日期-按照买家昵称 groupby 取付款日期的信息 F&#xff1a;Frequency 购买频次-付款日期-按照买家昵称 groupby 取付款曰期次数 M&#xff1a;Monetary 购买金额-实付金额-按照买家…

RFM模型分析

1.RFM的重要意义 RFM模型是衡量用户价值和用户创利能力的重要工具和手段 通过用户的近期交易行为、交易频次以及交易金额三个指标描述客户价值 指标解释意义 R(Recency) 用户最近一次交易的时间间隔R值越大&#xff0c;表示越久没有发生交易 F(Frequency) 用户在最近一段…

RFM 模型

RFM 模型 顾客价值分析 顾客价值分析 由于激烈的市场竞争&#xff0c;各个公司相继推出了多样灵活的优惠方式来吸引更多的客户。 对一个没有购买力的顾客&#xff0c;你打电话推销优惠活动毫无作用&#xff0c;可一个高价值顾客&#xff0c;会说有优惠活动怎么不通知我呢&…

数据分析八大模型:详解RFM模型

大家好&#xff0c;我是爱学习的小xiong熊妹。 今天跟大家分享的是一个经常被提及&#xff0c;但是价值被严重低估的模型&#xff1a;RFM模型。 一、RFM的基本思路 RFM模型由三个基础指标组成&#xff1a; R&#xff1a;最近一次消费至今的时间 F&#xff1a;一定时间内重复…

线性代数:如何求特征值和特征向量?

一、特征值和特征向量的定义 1 首先让我们来了解一下特征值和特征向量的定义&#xff0c;如下&#xff1a; 2 特征子空间基本定义&#xff0c;如下&#xff1a; END 二、特征多项式 1 特征多项式的定义&#xff0c;如下&#xff1a; 2 推论&#xff1a;n阶方阵A可逆的充…