python - 协同信号的逆排列错误解决方案?
问题描述
我目前正在对代码信号进行逆排列挑战。这里是任务的简要简历:
给定一个排列,产生它的逆排列。
例子
对于 permutation = [1, 3, 4, 2],输出应该是 inversePermutation(permutation) = [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] 这是由 codesignal 验证的唯一通过挑战的测试,当我使用以下数组尝试此代码时: [3, 0, 2, 7] 我得到这个: [2, 3, 1, 4]。根据挑战描述,这是完全错误的。我希望得到这个输出:[3, 2, 7, 0]。
那么我该怎么做?这段代码是错误的还是什么?
解决方案
从在线定义:“逆排列是一种排列,您可以通过在数组中元素值指定的位置插入元素的位置来获得这种排列”
我感觉预期的输入是n个数字序列,n在范围(1,n)内。
在您的示例中,您包含 0 和超过 list.len() 的数字
推荐阅读
- kubernetes - 在 Google Composer/Airflow 上使用 KubernetesPodOperator 挂载文件夹
- json - MariaDB 从数组中提取 JSON 值
- reactjs - 为什么 nextProps 和 this.props 总是相同?
- javascript - 如何在嵌套的 Vue3 编译动态 html 中定义属性?
- html - 标题超过数字位置
- c# - 使用表达式查询 Azure 表存储
- kubernetes-ingress - 将静态公共 IP 分配给 AKS 上的 HAProxy 以用于出口流量
- google-sheets - 列出日期范围之间的每个月。谷歌查询
- c++ - 我怎样才能让我的 arduino 睡 12 分钟?
- python - 在整个给定字符串中一致的重复子字符串模式——python