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)/按距离统计房屋对数目 I [count-the-number-of-houses-at-a-certain-distance-i].html
2024-01-26 11:46:13 +08:00

59 lines
3.4 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>给你三个<strong> 正整数 </strong><code>n</code><code>x</code><code>y</code></p>
<p>在城市中,存在编号从 <code>1</code><code>n</code> 的房屋,由 <code>n</code> 条街道相连。对所有 <code>1 &lt;= i &lt; n</code> ,都存在一条街道连接编号为 <code>i</code> 的房屋与编号为 <code>i + 1</code> 的房屋。另存在一条街道连接编号为 <code>x</code> 的房屋与编号为 <code>y</code> 的房屋。</p>
<p>对于每个 <code>k</code><code>1 &lt;= k &lt;= 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>&nbsp;</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>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>2 &lt;= n &lt;= 100</code></li>
<li><code>1 &lt;= x, y &lt;= n</code></li>
</ul>