news 2026/6/9 21:29:22

leetcode 3047. 求交集区域内的最大正方形面积 中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 3047. 求交集区域内的最大正方形面积 中等

在二维平面上存在n个矩形。给你两个下标从0开始的二维整数数组bottomLefttopRight,两个数组的大小都是n x 2,其中bottomLeft[i]topRight[i]分别代表第i个矩形的左下角右上角坐标。

我们定义向右的方向为 x 轴正半轴(x 坐标增加),向左的方向为 x 轴负半轴(x 坐标减少)。同样地,定义向上的方向为 y 轴正半轴(y 坐标增加,向下的方向为 y 轴负半轴(y 坐标减少)。

你可以选择一个区域,该区域由两个矩形的交集形成。你需要找出能够放入该区域最大正方形面积,并选择最优解。

返回能够放入交集区域的正方形的最大可能面积,如果矩形之间不存在任何交集区域,则返回0

示例 1:

输入:bottomLeft = [[1,1],[2,2],[3,1]], topRight = [[3,3],[4,4],[6,6]]输出:1解释:边长为 1 的正方形可以放入矩形 0 和矩形 1 的交集区域,或矩形 1 和矩形 2 的交集区域。因此最大面积是边长 * 边长,即 1 * 1 = 1。 可以证明,边长更大的正方形无法放入任何交集区域。

示例 2:

输入:bottomLeft = [[1,1],[2,2],[1,2]], topRight = [[3,3],[4,4],[3,4]]输出:1解释:边长为 1 的正方形可以放入矩形 0 和矩形 1,矩形 1 和矩形 2,或所有三个矩形的交集区域。因此最大面积是边长 * 边长,即 1 * 1 = 1。 可以证明,边长更大的正方形无法放入任何交集区域。 请注意,区域可以由多于两个矩形的交集构成。

示例 3:

输入:bottomLeft = [[1,1],[3,3],[3,1]], topRight = [[2,2],[4,4],[4,2]]输出:0解释:不存在相交的矩形,因此,返回 0 。

提示:

  • n == bottomLeft.length == topRight.length
  • 2 <= n <= 10^3
  • bottomLeft[i].length == topRight[i].length == 2
  • 1 <= bottomLeft[i][0], bottomLeft[i][1] <= 10^7
  • 1 <= topRight[i][0], topRight[i][1] <= 10^7
  • bottomLeft[i][0] < topRight[i][0]
  • bottomLeft[i][1] < topRight[i][1]

分析:检查任意两个矩形是否相交,如果相交,取横向、纵向相交部分的较小值作为正方形的边,最后返回边长相乘的值。

判断两个区间是否有重合部分,可以先分别计算两个区间的长度,如果区间长度之和大于右端点的最大值减去左端点的最小值的差大于 0,说明重合。

long long largestSquareArea(int** bottomLeft, int bottomLeftSize, int* bottomLeftColSize, int** topRight, int topRightSize, int* topRightColSize) { int n=bottomLeftSize,ans=0; for(int i=0;i<n;++i) { int len_xi=topRight[i][0]-bottomLeft[i][0],len_yi=topRight[i][1]-bottomLeft[i][1]; for(int j=i+1;j<n;++j) { int len_xj=topRight[j][0]-bottomLeft[j][0],len_yj=topRight[j][1]-bottomLeft[j][1]; int l1=len_xi+len_xj-(fmax(topRight[i][0],topRight[j][0])-fmin(bottomLeft[i][0],bottomLeft[j][0])); int l2=len_yi+len_yj-(fmax(topRight[i][1],topRight[j][1])-fmin(bottomLeft[i][1],bottomLeft[j][1])); ans=fmax(ans,fmin(l1,l2)); } } return 1LL*ans*ans; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 21:20:49

历时数十年的漏洞与新堆损坏问题,Linux系统关键glibc漏洞曝光

作为大多数Linux系统核心基础的GNU C库&#xff08;glibc&#xff09;维护团队披露了两个安全漏洞的详细信息&#xff0c;问题严重性从高危堆损坏到信息泄露不等。这些漏洞影响范围广泛&#xff0c;其中一个漏洞可追溯至glibc 2.0版本。高危漏洞的技术特性虽然这两个漏洞都可能…

作者头像 李华
网站建设 2026/6/6 6:51:35

《P2455 [SDOI2006] 线性方程组》

题目描述 已知 n 元线性一次方程组。 ⎩⎨⎧​a1,1​x1​a1,2​x2​⋯a1,n​xn​b1​a2,1​x1​a2,2​x2​⋯a2,n​xn​b2​⋯an,1​x1​an,2​x2​⋯an,n​xn​bn​​ 请根据输入的数据&#xff0c;编程输出方程组的解的情况。 输入格式 第一行输入未知数的个数 n。 接下…

作者头像 李华
网站建设 2026/6/6 12:21:30

会计职称考试照片大小标准是多少?快速压缩方法分享

报考会计职称时&#xff0c;不少人卡在照片上传这一步&#xff1a;要么提示照片太大无法提交&#xff0c;要么格式不符合要求&#xff0c;找压缩工具又怕下载的软件有广告、操作复杂。会计职称考试报名照片有明确规范&#xff1a;背景需为白色&#xff0c;采用近期 1 寸免冠证件…

作者头像 李华
网站建设 2026/6/6 12:48:55

GIF动画在线制作工具怎么选?GIF中文网免费动图制作全攻略

做自媒体配图、电商主图或课件动图时&#xff0c;总遇到GIF制作复杂、转换后格式不兼容&#xff0c;甚至动图太大无法上传的问题&#xff0c;浪费大量时间还没效果。今天给大家推荐5分钟快速上手的在线GIF工具&#xff08;https://www.gif.cn/&#xff09; ——GIF 中文网&…

作者头像 李华
网站建设 2026/6/6 11:45:24

我常用的一个电商数据采集软件,低代码爬虫

最近DeepSeek大火&#xff0c;对话质量之高一度超过ChatGPT、Claude等主流海外模型。你知道什么决定了大模型训练结果的好坏吗?除了算法外&#xff0c;训练数据的质和量起着决定性作用&#xff0c;而很多AI公司用到的训练数据就是利用爬虫技术从全网抓取的&#xff0c;这也是O…

作者头像 李华
网站建设 2026/6/6 13:02:04

计算机毕设java疫情期间物资分配管理系统 基于Java的疫情期间物资分配与监管系统 疫情期间物资调配管理系统的设计与实现

计算机毕设java疫情期间物资分配管理系统714499 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。在疫情的特殊背景下&#xff0c;物资分配管理的高效性与准确性显得尤为重要。传统…

作者头像 李华