Rubyには、3つのネストされたループがあります。
array.each do |a|
array.each do |b|
array.each do |c|
puts a * b * c
end
end
end
ネストされたループの数を5〜10回以上の反復に増やすことができる場合、このコードを最適化するにはどうすればよいですか?
例:
array.each do |a|
array.each do |b|
array.each do |c|
array.each do |d|
array.each do |e|
array.each do |f|
puts a * b * c * d * e * f
end
end
end
end
end
end
あなたはこのようなことをすることができます:
array.repeated_combination(array.size).each do |combination|
puts combination.reduce(:*)
end
Array#repeated_combination
可能なすべての組み合わせを生成する列挙子を返します。
このメソッドは、出力を出力する前にすべての組み合わせを生成するため、配列のサイズによっては時間がかかる場合があります。:可能な組み合わせの数は非常に高速増加することに注意してくださいO(nⁿ)
とのn
配列の要素数です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加