我目前正在对代码信号进行inversePermutation挑战。这里是任务的简短简历:
给出一个排列,产生其逆排列。
示例
对于置换= [1、3、4、2],输出应为inversePermutation(permutation)= [1,4,2,3]。
在其他用户提供的解决方案中,我看到此:
return numpy.argsort(*eval(dir()[0])) + 1
但是我认为这是不正确的,因为即使代码通过了以下测试:输入[1、3、4、2]预期输出:[1、4、2、3]输入[1,2,3]预期输出:[1,2,3]当我使用以下数组尝试此代码时,这是codesignal唯一通过挑战的测试:[3,0,2,7]我得到了:[2,3,1,4]。根据挑战说明,这是完全错误的。我希望此输出改为:[3,2,7,0]。
所以我该怎么办,此代码是错误的还是什么?
从在线定义:“反向排列是通过将元素的位置插入数组中元素值所指定的位置来获得的排列”
我感到期望输入的是n个范围为(1,n)的n个数字的序列。
在您的示例中,您包括0,且数字超出list.len()