gpt4 book ai didi

algorithm - 如何判断两个序列是否因排列不同?

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

给定任意两个由 n 个实数组成的序列,比如 (a1,a2,...,an) 和 (b1,b2,...,bn),如何判断一个序列(也可以看作一个向量)是另一个的排列?

我计划开发一种算法并在 Matlab 上运行它来完成这项工作。我只能想到一个算法,花费n!次:尝试 n 中的所有排列。

有没有更快的算法?

最佳答案

首先,为什么n! ?如果对于每个 ai,你在 bi 中搜索一个匹配项,你将得到 O(n^2)。无论如何,使用复杂度为 O(nlogn) 的排序更有效。

A=[3,1,2,7];
B=[2,3,1,7];
isPermutated=isequal(sort(A),sort(B))

关于algorithm - 如何判断两个序列是否因排列不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53644935/

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