gpt4 book ai didi

list - 检查两个列表是否包含相同的元素

转载 作者:行者123 更新时间:2023-12-04 17:32:19 29 4
gpt4 key购买 nike

我有两个函数返回相同大小的结果列表,我正在尝试检查结果是否相同。列表中的顺序可以不同。我目前正在使用以下功能:

lists_are_the_same(List1, List2) ->
List1 -- List2 =:= [].

此函数从另一个列表中减去一个列表并检查结果是否为空列表。问题是,这种方法非常慢,在我的情况下列表可能相当大。

有没有更快的方法来检查两个列表是否包含完全相同的元素?

最佳答案

一种更快的方法是对每个列表进行排序,然后按如下方式比较它们:

lists_are_the_same(List1, List2) ->
lists:sort(List1) =:= lists:sort(List2).

基于 Steve 的评论,重要的是要知道 Erlang 中的所有值都是可排序的并且具有 defined order ,所以它适用于所有可能的列表元素。

关于list - 检查两个列表是否包含相同的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39570797/

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