Algoritmo para aplicar permutação em espaço de memória constante

Eu vi esta pergunta é um livro de entrevista de programação, aqui estou simplificando a questão.

Suponha que você tenha uma matrizA de comprimenton, e você tem uma matriz de permutaçãoP de comprimenton também. Seu método retornará uma matriz onde elementos deA aparecerá na ordem com índices especificados emP.

Exemplo rápido: seu método levaA = [a, b, c, d, e] eP = [4, 3, 2, 0, 1]. então ele retornará[e, d, c, a, b]. Você tem permissão para usar apenas espaço constante (ou seja, não é possível alocar outro array, o queO(n) espaço).

Idéias?

questionAnswers(7)

yourAnswerToTheQuestion