mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
59 lines
3.4 KiB
HTML
59 lines
3.4 KiB
HTML
<p>给你三个<strong> 正整数 </strong><code>n</code> 、<code>x</code> 和 <code>y</code> 。</p>
|
||
|
||
<p>在城市中,存在编号从 <code>1</code> 到 <code>n</code> 的房屋,由 <code>n</code> 条街道相连。对所有 <code>1 <= i < n</code> ,都存在一条街道连接编号为 <code>i</code> 的房屋与编号为 <code>i + 1</code> 的房屋。另存在一条街道连接编号为 <code>x</code> 的房屋与编号为 <code>y</code> 的房屋。</p>
|
||
|
||
<p>对于每个 <code>k</code>(<code>1 <= k <= n</code>),你需要找出所有满足要求的 <strong>房屋对 </strong><code>[house<sub>1</sub>, house<sub>2</sub>]</code> ,即从 <code>house<sub>1</sub></code> 到 <code>house<sub>2</sub></code> 需要经过的<strong> 最少</strong> 街道数为 <code>k</code> 。</p>
|
||
|
||
<p>返回一个下标从 <strong>1</strong> 开始且长度为 <code>n</code> 的数组 <code>result</code> ,其中 <code>result[k]</code> 表示所有满足要求的房屋对的数量,即从一个房屋到另一个房屋需要经过的<strong> 最少 </strong>街道数为 <code>k</code> 。</p>
|
||
|
||
<p><strong>注意</strong>,<code>x</code> 与 <code>y</code> 可以 <strong>相等 </strong>。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong class="example">示例 1:</strong></p>
|
||
<img alt="" src="https://assets.leetcode.com/uploads/2023/12/20/example2.png" style="width: 474px; height: 197px;" />
|
||
<pre>
|
||
<strong>输入:</strong>n = 3, x = 1, y = 3
|
||
<strong>输出:</strong>[6,0,0]
|
||
<strong>解释:</strong>让我们检视每个房屋对
|
||
- 对于房屋对 (1, 2),可以直接从房屋 1 到房屋 2。
|
||
- 对于房屋对 (2, 1),可以直接从房屋 2 到房屋 1。
|
||
- 对于房屋对 (1, 3),可以直接从房屋 1 到房屋 3。
|
||
- 对于房屋对 (3, 1),可以直接从房屋 3 到房屋 1。
|
||
- 对于房屋对 (2, 3),可以直接从房屋 2 到房屋 3。
|
||
- 对于房屋对 (3, 2),可以直接从房屋 3 到房屋 2。
|
||
</pre>
|
||
|
||
<p><strong class="example">示例 2:</strong></p>
|
||
<img alt="" src="https://assets.leetcode.com/uploads/2023/12/20/example3.png" style="width: 668px; height: 174px;" />
|
||
<pre>
|
||
<strong>输入:</strong>n = 5, x = 2, y = 4
|
||
<strong>输出:</strong>[10,8,2,0,0]
|
||
<strong>解释:</strong>对于每个距离 k ,满足要求的房屋对如下:
|
||
- 对于 k == 1,满足要求的房屋对有 (1, 2), (2, 1), (2, 3), (3, 2), (2, 4), (4, 2), (3, 4), (4, 3), (4, 5), 以及 (5, 4)。
|
||
- 对于 k == 2,满足要求的房屋对有 (1, 3), (3, 1), (1, 4), (4, 1), (2, 5), (5, 2), (3, 5), 以及 (5, 3)。
|
||
- 对于 k == 3,满足要求的房屋对有 (1, 5),以及 (5, 1) 。
|
||
- 对于 k == 4 和 k == 5,不存在满足要求的房屋对。
|
||
</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
<img alt="" src="https://assets.leetcode.com/uploads/2023/12/20/example5.png" style="width: 544px; height: 130px;" />
|
||
<pre>
|
||
<strong>输入:</strong>n = 4, x = 1, y = 1
|
||
<strong>输出:</strong>[6,4,2,0]
|
||
<strong>解释:</strong>对于每个距离 k ,满足要求的房屋对如下:
|
||
- 对于 k == 1,满足要求的房屋对有 (1, 2), (2, 1), (2, 3), (3, 2), (3, 4), 以及 (4, 3)。
|
||
- 对于 k == 2,满足要求的房屋对有 (1, 3), (3, 1), (2, 4), 以及 (4, 2)。
|
||
- 对于 k == 3,满足要求的房屋对有 (1, 4), 以及 (4, 1)。
|
||
- 对于 k == 4,不存在满足要求的房屋对。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>2 <= n <= 100</code></li>
|
||
<li><code>1 <= x, y <= n</code></li>
|
||
</ul>
|