2
a = [1,4,1]
total = []
a.each do |num|
total << a.select {|x| x != num}
end
p total => [[4], [1, 1], [4]]
現在の要素以外の配列内の他の要素をすべて選択したいと考えています。重複がない場合は上のように動作しますが、存在する場合は出力が正しくありません。この場合、出力は次のようになります。現在の配列を除くすべてを選択する
[[4,1], [1, 1], [1,4]]
私はeach_with_indexを使用してみましたし、インデックスの代わりに、数を目標とが、同じ問題に遭遇しました。何か案は?選択以外の何か?
おかげ
すみません、本当にありがとうございます!完璧に動作します! – user3007294
これはインテリジェントなソリューションです。 @ user3007294も 'Array#combination'を見ています。例えば、a.combination(a.size - 1).to_a#=> [[4,1]、[1,1]、[1,4]] '(順序は保証されません) – engineersmnky
ありがとう@engineersmnky!それはまた素晴らしいアプローチです – user3007294