Class Solution
-
- All Implemented Interfaces:
public final class Solution
1409 - Queries on a Permutation With Key.
Medium
Given the array
queries
of positive integers between1
andm
, you have to process allqueries[i]
(fromi=0
toi=queries.length-1
) according to the following rules:In the beginning, you have the permutation
P=[1,2,3,...,m]
.For the current
i
, find the position ofqueries[i]
in the permutationP
( indexing from 0 ) and then move this at the beginning of the permutationP.
Notice that the position ofqueries[i]
inP
is the result forqueries[i]
.
Return an array containing the result for the given
queries
.Example 1:
Input: queries = 3,1,2,1, m = 5
Output: 2,1,2,1
Explanation: The queries are processed as follow:
For i=0: queriesi=3, P=1,2,3,4,5, position of 3 in P is 2 , then we move 3 to the beginning of P resulting in P=3,1,2,4,5.
For i=1: queriesi=1, P=3,1,2,4,5, position of 1 in P is 1 , then we move 1 to the beginning of P resulting in P=1,3,2,4,5.
For i=2: queriesi=2, P=1,3,2,4,5, position of 2 in P is 2 , then we move 2 to the beginning of P resulting in P=2,1,3,4,5.
For i=3: queriesi=1, P=2,1,3,4,5, position of 1 in P is 1 , then we move 1 to the beginning of P resulting in P=1,2,3,4,5.
Therefore, the array containing the result is 2,1,2,1.
Example 2:
Input: queries = 4,1,2,2, m = 4
Output: 3,1,2,0
Example 3:
Input: queries = 7,5,5,8,3, m = 8
Output: 6,5,0,7,5
Constraints:
1 <= m <= 10^3
1 <= queries.length <= m
1 <= queries[i] <= m
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntArray
processQueries(IntArray queries, Integer m)
-
-
Method Detail
-
processQueries
final IntArray processQueries(IntArray queries, Integer m)
-
-
-
-