1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-27 10:40:26 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/查询带键的排列 [queries-on-a-permutation-with-key].html

48 lines
2.1 KiB
HTML
Raw Normal View History

2023-12-09 18:42:21 +08:00
<p>给定一个正整数数组&nbsp;<code>queries</code> ,其取值范围在&nbsp;<code>1</code><code>m</code> 之间。 请你根据以下规则按顺序处理所有&nbsp;<code>queries[i]</code>(从 <code>i=0</code><code>i=queries.length-1</code></p>
2022-03-27 20:37:52 +08:00
<ul>
2023-12-09 18:42:21 +08:00
<li>首先,你有一个排列&nbsp;<code>P=[1,2,3,...,m]</code></li>
<li>对于当前的 <code>i</code> ,找到&nbsp;<code>queries[i]</code> 在排列 <code>P</code> 中的位置(<b>从 0 开始索引</b>),然后将它移到排列&nbsp;<code>P</code> 的开头(即下标为 0 处)。注意, <code>queries[i]</code>&nbsp;的查询结果是 <code>queries[i]</code><code>P</code> 中移动前的位置。</li>
2022-03-27 20:37:52 +08:00
</ul>
2023-12-09 18:42:21 +08:00
<p>返回一个数组,包含从给定 &nbsp;<code>queries</code>&nbsp;中查询到的结果。</p>
2022-03-27 20:37:52 +08:00
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
2023-12-09 18:42:21 +08:00
<pre>
<strong>输入:</strong>queries = [3,1,2,1], m = 5
2022-03-27 20:37:52 +08:00
<strong>输出:</strong>[2,1,2,1]
2023-12-09 18:42:21 +08:00
<strong>解释:处理</strong> queries 的过程如下:
对于 i=0: queries[i]=3, P=[1,2,3,4,5], 3 在 P 中的位置是 <strong>2</strong>,然后我们把 3 移动到 P 的开头,得到 P=[3,1,2,4,5] 。
对于 i=1: queries[i]=1, P=[3,1,2,4,5], 1 在 P 中的位置是 <strong>1</strong>,然后我们把 1 移动到 P 的开头,得到 P=[1,3,2,4,5] 。
对于 i=2: queries[i]=2, P=[1,3,2,4,5], 2 在 P 中的位置是 <strong>2</strong>,然后我们把 2 移动到 P 的开头,得到 P=[2,1,3,4,5] 。
对于 i=3: queries[i]=1, P=[2,1,3,4,5], 1 在 P 中的位置是 <strong>1</strong>,然后我们把 1 移动到 P 的开头,得到 P=[1,2,3,4,5] 。
因此,包含结果的数组为 [2,1,2,1] 。
2022-03-27 20:37:52 +08:00
</pre>
<p><strong>示例 2</strong></p>
2023-12-09 18:42:21 +08:00
<pre>
<strong>输入:</strong>queries = [4,1,2,2], m = 4
2022-03-27 20:37:52 +08:00
<strong>输出:</strong>[3,1,2,0]
</pre>
<p><strong>示例 3</strong></p>
2023-12-09 18:42:21 +08:00
<pre>
<strong>输入:</strong>queries = [7,5,5,8,3], m = 8
2022-03-27 20:37:52 +08:00
<strong>输出:</strong>[6,5,0,7,5]
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= m &lt;= 10^3</code></li>
<li><code>1 &lt;= queries.length &lt;= m</code></li>
<li><code>1 &lt;= queries[i] &lt;= m</code></li>
</ul>