1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-11 02:58:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/求交集区域内的最大正方形面积 [find-the-largest-area-of-square-inside-two-rectangles].html

51 lines
3.5 KiB
HTML
Raw Normal View History

2024-03-01 00:47:37 +08:00
<p>在二维平面上存在 <code>n</code> 个矩形。给你两个下标从 <strong>0</strong> 开始的二维整数数组 <code>bottomLeft</code><code>topRight</code>,两个数组的大小都是 <code>n x 2</code> ,其中 <code>bottomLeft[i]</code><code>topRight[i]</code> 分别代表第 <code>i</code> 个矩形的<strong> 左下角 </strong><strong>右上角 </strong>坐标。</p>
<p>我们定义 <strong>向右 </strong>的方向为 x 轴正半轴(<strong>x 坐标增加</strong><strong>向左 </strong>的方向为 x 轴负半轴(<strong>x 坐标减少</strong>)。同样地,定义 <strong>向上 </strong>的方向为 y 轴正半轴(<strong>y 坐标增加</strong><strong>,向下 </strong>的方向为 y 轴负半轴(<strong>y 坐标减少</strong>)。</p>
<p>你可以选择一个区域,该区域由两个矩形的 <strong>交集</strong>&nbsp;形成。你需要找出能够放入该区域 <strong></strong><strong> 最大 </strong>正方形面积,并选择最优解。</p>
<p>返回能够放入交集区域的正方形的 <strong>最大 </strong>可能面积,如果矩形之间不存在任何交集区域,则返回 <code>0</code></p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<img alt="" src="https://assets.leetcode.com/uploads/2024/01/05/example12.png" style="width: 443px; height: 364px; padding: 10px; background: rgb(255, 255, 255); border-radius: 0.5rem;" />
<pre>
<strong>输入:</strong>bottomLeft = [[1,1],[2,2],[3,1]], topRight = [[3,3],[4,4],[6,6]]
<strong>输出:</strong>1
<strong>解释:</strong>边长为 1 的正方形可以放入矩形 0 和矩形 1 的交集区域,或矩形 1 和矩形 2 的交集区域。因此最大面积是边长 * 边长,即 1 * 1 = 1。
可以证明,边长更大的正方形无法放入任何交集区域。
</pre>
<p><strong class="example">示例 2</strong></p>
<img alt="" src="https://assets.leetcode.com/uploads/2024/01/04/rectanglesexample2.png" style="padding: 10px; background: rgb(255, 255, 255); border-radius: 0.5rem; width: 445px; height: 365px;" />
<pre>
<strong>输入:</strong>bottomLeft = [[1,1],[2,2],[1,2]], topRight = [[3,3],[4,4],[3,4]]
<strong>输出:</strong>1
<strong>解释:</strong>边长为 1 的正方形可以放入矩形 0 和矩形 1矩形 1 和矩形 2或所有三个矩形的交集区域。因此最大面积是边长 * 边长,即 1 * 1 = 1。
可以证明,边长更大的正方形无法放入任何交集区域。
请注意,区域可以由多于两个矩形的交集构成。
</pre>
<p><strong class="example">示例 3</strong></p>
<img alt="" src="https://assets.leetcode.com/uploads/2024/01/04/rectanglesexample3.png" style="padding: 10px; background: rgb(255, 255, 255); border-radius: 0.5rem; width: 444px; height: 364px;" />
<pre>
<strong>输入:</strong>bottomLeft = [[1,1],[3,3],[3,1]], topRight = [[2,2],[4,4],[4,2]]
<strong>输出:</strong>0
<strong>解释:</strong>不存在相交的矩形,因此,返回 0 。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>n == bottomLeft.length == topRight.length</code></li>
<li><code>2 &lt;= n &lt;= 10<sup>3</sup></code></li>
<li><code>bottomLeft[i].length == topRight[i].length == 2</code></li>
<li><code>1 &lt;= bottomLeft[i][0], bottomLeft[i][1] &lt;= 10<sup>7</sup></code></li>
<li><code>1 &lt;= topRight[i][0], topRight[i][1] &lt;= 10<sup>7</sup></code></li>
<li><code>bottomLeft[i][0] &lt; topRight[i][0]</code></li>
<li><code>bottomLeft[i][1] &lt; topRight[i][1]</code></li>
</ul>