Sync
This commit is contained in:
parent
6f050a029e
commit
776bba907c
3887 changed files with 59894 additions and 7280 deletions
15
Task/Ordered-Partitions/Ruby/ordered-partitions.rb
Normal file
15
Task/Ordered-Partitions/Ruby/ordered-partitions.rb
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
def partition(mask)
|
||||
return [[]] if mask.empty?
|
||||
sum = mask.inject(:+)
|
||||
a = Array.new(sum){|e| e}
|
||||
res = a.permutation.map do |perm|
|
||||
mask.map {|num_elts| perm.shift(num_elts).sort }
|
||||
end
|
||||
res.uniq
|
||||
end
|
||||
|
||||
[[],[0,0,0],[1,1,1],[2,0,2]].each do |test_case|
|
||||
p test_case
|
||||
partition(test_case).each{|part| p part }
|
||||
puts
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue