私は次の配列を持っています:
A = "cheddar".split(//) # ["c", "h", "e", "d", "d", "a", "r"]
B = "cheddaar".split(//) # ["c", "h", "e", "d", "d", "a", "a", "r"]
AアレイはBアレイのサブセットです。A配列に別の「d」要素がある場合、それはサブセットではありません。
重複している場合でも、一方が他方のサブセットであるかどうかを比較して見つけたいと思います。A-BまたはA&Bは重複をキャプチャせず、それらを比較して一致するものを見つけるだけです。だから私はそれが重複をキャプチャする次のように書いた:
B.each do |letter|
A.delete_at(A.index(letter)) rescue ""
end
p A.empty?
これが最善の方法ですか、それとも最適化できますか?