Leetcode 솔루션: 키를 사용한 순열 쿼리

1과 m 사이의 양의 정수 배열 쿼리가 주어지면 다음 규칙에 따라 모든 쿼리i를 처리해야 합니다.

처음에는 순열 P=[1,2,3,...,m]이 있습니다.
현재 i의 경우 순열 P(0부터 인덱싱)에서 쿼리[i]의 위치를 ​​찾은 다음 이를 순열 P의 시작 부분으로 이동합니다. P에서 쿼리[i]의 위치는 쿼리에 대한 결과입니다. [나].
주어진 쿼리에 대한 결과를 포함하는 배열을 반환합니다.

class Solution:
    def processQueries(self, queries: List[int], m: int) -> List[int]:

        P, result = list(range(1, m + 1)), []

        for q in queries:

            index = P.index(q)

            result.append(index)

            P = [P.pop(index)] + P

        return result


좋은 웹페이지 즐겨찾기