1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48: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
2024-03-01 00:47:37 +08:00

51 lines
3.5 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>