В настоящее время я выполняю вызов inversePermutation для сигнального кода. Вот краткое резюме задачи:
Учитывая перестановку, произведем ее обратную перестановку.
Пример
Для перестановки = [1, 3, 4, 2], вывод должен быть inversePermutation (перестановка) = [1, 4, 2, 3].
В решениях, предоставленных другими пользователями, я вижу это:
return numpy.argsort(*eval(dir()[0])) + 1
Но я не думаю, что это правильно, потому что даже если код прошел следующий тест: input [1, 3, 4, 2] ожидаемый вывод: [1, 4, 2, 3] input [1, 2, 3] ожидаемый вывод: [1, 2, 3], которые являются единственным тестом, подтвержденным кодовым сигналом для прохождения испытания, когда я пробую этот код со следующим массивом: [3, 0, 2, 7] я получаю это: [2, 3, 1, 4]. Что совершенно неправильно в соответствии с описанием задачи. Вместо этого я ожидал такого вывода: [3, 2, 7, 0].
Так как я могу это сделать, и этот код неправильный или что-то в этом роде?