无论元素的顺序如何,如何检查一个数组是否为另一个数组的子集?
a1 = [3, 6, 4]
a2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
...?
a1 is a subset of a2
发布于 2012-05-13 05:16:03
使用集合。然后你就可以使用set.subset?
了。示例:
require 'set'
a1 = Set[3,6,4]
a2 = Set[1,2,3,4,5,6,7,8,9]
puts a1.subset?(a2)
输出:
true
在线查看它的工作方式:ideone
发布于 2012-05-13 05:16:03
最简单的可能是:
(a1 - a2).empty?
发布于 2014-10-03 23:53:12
可能不是很快,但可读性很好
def subset?(a,b)
a.all? {|x| b.include? x}
end
https://stackoverflow.com/questions/10567430
复制相似问题