gpt4 book ai didi

从全局排序顺序对 N 个不同列表进行排序的算法

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

我有 N 个项目列表

例如:

  • A、B、C、D
  • 1, 2, 3
  • V、W、X、Y、Z

它们被扁平化为一个长列表,用户可以根据自己的喜好选择顺序

例如:

1, C, X, 3, B, A, Y, Z, 2, W, D, V

我需要重新排序我的 N 个原始列表,以便它们的相对排序顺序与用户的排序相匹配

例如:

  • C、B、A、D
  • 1, 3, 2
  • X, Y, Z, W, V

简单的蛮力方法是创建 N 个新的空容器,遍历用户的订单,并在遇到每个项目时将其添加到相关容器中。

有没有更优雅的方法?

最佳答案

除非可以对数据的排序做出假设,否则可能没有更优雅的方法。

您必须在某个时候创建​​ N 个新容器中的每一个。

您还必须在某个时候向这 N 个容器中添加必要的元素。

这两件事是避免不了的。您的方法仅包含这两者,仅此而已,因此被证明是最小的。

一个小警告是 block 数组复制比迭代复制稍微快一些,所以如果你知道大块是相同的,那么你可以为这些 block 制作一个稍微快一些的复制。但通常,为了获得该信息,您必须首先访问和分析数据。因此,与其访问和分析,不如访问和插入。

关于从全局排序顺序对 N 个不同列表进行排序的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50750778/

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