首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ruby -查找两个数组中不相同的元素

Ruby -查找两个数组中不相同的元素
EN

Stack Overflow用户
提问于 2013-11-25 22:47:05
回答 4查看 16.5K关注 0票数 20

我一直在考虑下面的一个问题--有两个数组,我需要找到它们都不常见的元素,例如:

代码语言:javascript
运行
复制
a = [1,2,3,4]
b = [1,2,4]

预期的答案是[3]

到目前为止我一直是这样做的:

代码语言:javascript
运行
复制
a.select { |elem| !b.include?(elem) }

但它给了我O(N ** 2)的时间复杂性。我相信可以做得更快;)

另外,我一直在考虑这样做(使用与&相反的方法,它提供了两个数组的公共元素):

代码语言:javascript
运行
复制
a !& b  #=> doesn't work of course

另一种方法可能是添加两个数组并使用类似于uniq的方法查找唯一元素,以便:

代码语言:javascript
运行
复制
[1,1,2,2,3,4,4].some_method #=> would return 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20205023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档