gpt4 book ai didi

arrays - 串联排序两个数组的奇怪案例

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:05:48 26 4
gpt4 key购买 nike

假设我们有两个数组:

a = [4,3,8,7]
b = [(1,2),(5,6),(8,6),(9,0)]

所以我们现在想要的是,对数组 a 进行排序。所以排序的结果应该是 a_sorted = [3,4,7,8] 。而且,我们不能对数组 b 进行排序。相反,数组 b 的顺序必须根据数组 a 的排序顺序进行更改。

因此,数组 b 必须是 b_sorted = [(5,6),(1,2),(9,0),(8,6)]

即,a_sorted 的顺序将是 a_sorted = [a[1],a[0],a[3],a[2]]。相应地,b_sorted = [b[1],b[0],b[3],b[2]]

问题比较简单。这种排序有名称吗? :

最佳答案

您只是找到一个数组的排序排列([2,1,4,3] 表示 a)并将其应用于另一个数组。许多语言都能很好地处理这个问题。

例如,在 Matlab 中, 你可以调用 [sortedA, sortedBy] = sort([4 3 8 7]); 然后 sortedA = a(sortedBy) = [3 4 7 8]sortedBy = [2 1 4 3],所以你的新 b 将是 b(sortBy)

关于arrays - 串联排序两个数组的奇怪案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6144132/

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