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

45 lines
2.2 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>queries</code> ,数组中的元素为 <code>1</code><code>m</code> 之间的正整数。 请你根据以下规则处理所有待查项 <code>queries[i]</code>(从 <code>i=0</code><code>i=queries.length-1</code></p>
<ul>
<li>一开始,排列 <code>P=[1,2,3,...,m]</code></li>
<li>对于当前的 <code>i</code> ,请你找出待查项 <code>queries[i]</code> 在排列 <code>P</code> 中的位置(<strong>下标从 0 开始</strong>),然后将其从原位置移动到排列 <code>P</code> 的起始位置(即下标为 0 处)。注意, <code>queries[i]</code><code>P</code> 中的位置就是 <code>queries[i]</code> 的查询结果。</li>
</ul>
<p>请你以数组形式返回待查数组&nbsp; <code>queries</code> 的查询结果。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre><strong>输入:</strong>queries = [3,1,2,1], m = 5
<strong>输出:</strong>[2,1,2,1]
<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] 。
</pre>
<p><strong>示例 2</strong></p>
<pre><strong>输入:</strong>queries = [4,1,2,2], m = 4
<strong>输出:</strong>[3,1,2,0]
</pre>
<p><strong>示例 3</strong></p>
<pre><strong>输入:</strong>queries = [7,5,5,8,3], m = 8
<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>