判断两个数组是否具有相同成员的算法

比较两个数组以查看它们是否具有相同成员的最佳算法是什么?

假设没有重复项,成员可以按任何顺序排列,并且都不排序。

compare(

[a, b, c, d],

[b, a, d, c]

) ==> true

compare(

[a, b, e],

[a, b, c]

) ==> false

compare(

[a, b, c],

[a, b]

) ==> false

回答:

显而易见的答案是:

  1. 对两个列表进行排序,然后检查每个元素是否相同
  2. 将一个数组中的项目添加到哈希表中,然后遍历另一个数组,检查每个项目是否在哈希表中
  3. nickf的迭代搜索算法

您将使用哪一个取决于您是否可以首先对列表进行排序,以及您是否拥有良好的哈希算法。

以上是 判断两个数组是否具有相同成员的算法 的全部内容, 来源链接: utcz.com/qa/400999.html

回到顶部