我有一個數組:返回具有匹配相交陣列
a = [1,1,2,3,4]
和多個陣列:
b =[[1,2,3], [1,1,4], [7,3,4], [1,5,6,1]]
對於b
每個元素,b_i
,我想知道:
- 是否有一些
b_i
使得a & b_i == b_i
和 - 那是什麼
b_i
這是我在想什麼
def get_matching(a, b)
b.each {|b_i|
return b_i if (a & b_i) == b_i
}
end
我在哪裏可以檢查返回值是否爲nil或者沒有確定的答案,第一個問題?雖然,也許我可以將它們作爲兩個單獨的函數來實現,以便檢查這種匹配是否存在並不需要實際返回匹配。
假設我只需要第一次匹配,如果有很多。
有沒有更有效的方法來做到這一點?
所以會比較喜歡'((A&b_i) - b_i).empty'忽略秩序?謝謝我沒有考慮元素的順序。 – MxyL