gpt4 book ai didi

algorithm - "matrix"带有随机元素,如何对齐同一列中的相同元素?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:28:13 25 4
gpt4 key购买 nike

如果您有一种矩阵(或不同大小的行列表),每行中有随机数量的随机元素,您将如何重新排列矩阵以使相同的元素出现在同一列中?

每一行至少有一个元素/列,但不同的行可以有不同数量的元素/列。每个元素每行最多出现一次。

例如:

a|c
a|b|c
c|e
a|d|e
b|d

之后应该是这样的:

a| |c| | 
a|b|c| |
| |c| |e
a| | |d|e
|b| |d|

什么是高效算法?

编辑:这只是一个简单的例子,任何正数的列和每列的正数元素都应该被覆盖。

元素不必保留其原始列,但在结果矩阵中应与原始列保持最小距离。在输入中出现在元素 y 之前的每个元素 x 也必须在输出中出现在 y 之前。抱歉,这是我最初没有添加的一个重要约束,user1734710 提供的其他好的解决方案通常没有涵盖它。

最佳答案

  1. 复制一个长向量v中的所有元素
  2. v 进行排序并删除重复项
  3. 分配一个大小为n_rows x v.size()的矩阵m
  4. 对于每一行r中的每个元素e,查找e中的位置i >v 并将 e 存储在 m[r, i]

关于algorithm - "matrix"带有随机元素,如何对齐同一列中的相同元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21606010/

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