给你一个待查数组 queries
,数组中的元素为 1
到 m
之间的正整数。 请你根据以下规则处理所有待查项 queries[i]
(从 i=0
到 i=queries.length-1
):
- 一开始,排列
P=[1,2,3,...,m]
。 - 对于当前的
i
,请你找出待查项queries[i]
在排列P
中的位置(下标从 0 开始),然后将其从原位置移动到排列P
的起始位置(即下标为 0 处)。注意,queries[i]
在P
中的位置就是queries[i]
的查询结果。
请你以数组形式返回待查数组 queries
的查询结果。


思路:
根据题意直接暴力破解就行。
python3实现:
class Solution:
def processQueries(self, queries: List[int], m: int) -> List[int]:
# 根据题意来就行了。
P = [i for i in range(1, m+1)]
result = []
s = 0
while s <= len(queries) - 1:
target = queries[s]
target_idx_in_P = P.index(target)
result.append(target_idx_in_P)
part_1 = []
tmp = [part_1.append(each) for each in P if each != target]
part_2 = [target]
P = part_2 + part_1
s += 1
return result
