gpt4 book ai didi

python - codesignal 上的逆排列错误解?

转载 作者:行者123 更新时间:2023-12-04 15:29:52 27 4
gpt4 key购买 nike

我目前正在对 codesignal 进行 inversePermutation 挑战。这里是任务的简要简历:

给定一个排列,产生它的逆排列。

例子

对于排列 = [1, 3, 4, 2],输出应该是inversePermutation(排列) = [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]。

那么我该怎么做,这段代码是错误的还是什么?

最佳答案

when I try this code with the following array: [3, 0, 2, 7] I get this: [2, 3, 1, 4]. Which is completly wrong according to the challenge description. I expected this output instead: [3, 2, 7, 0].

如果您传递一个包含 4 个值的数组,则逆排列不能有任何超过 4 的值,因为这些是获取元素以恢复原始顺序的索引,而不是元素。

因此,如果您选择 [3, 0, 2, 7],则正确答案是 [2, 3, 1, 4],因为这意味着您选择第二个元素 (0),然后是第三个 (2),然后是第一个 (3),最后是 (7),生成 [0, 2, 3, 7]

关于python - codesignal 上的逆排列错误解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61437959/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com