История изменений
Исправление wandrien, (текущая версия) :
Я еще более тупой, я не очень понял условия задачи.
Так что ли надо?
data:
["a", "b", "c", "d"]
result:
["a", "b", "ab", "c", "ac", "bc", "abc", "d", "ad", "bd", "abd", "cd", "acd", "bcd", "abcd"]
arr = ["a", "b", "c", "d"]
def enum_combinations(arr, comb = [])
return comb if arr.empty?
item = arr.shift
comb2 = [item]
comb.each {|i| comb2.push(i + item) }
comb = comb.concat(comb2)
return enum_combinations(arr, comb)
end
puts "data:"
p arr
puts "result:"
p enum_combinations(arr)
Сорян, я в lua не оч. Писал на более понятном ЯП.
Исправление wandrien, :
Я еще более тупой, я не очень понял условия задачи.
Так что ли надо?
data:
["a", "b", "c", "d"]
result:
["a", "b", "ab", "c", "ac", "bc", "abc", "d", "ad", "bd", "abd", "cd", "acd", "bcd", "abcd"]
arr = ["a", "b", "c", "d"]
def enum_combinations(arr, comb = [])
return comb if arr.empty?
item = arr.shift
comb2 = [item]
comb.each {|i| comb2.push(i + item) }
comb = comb.concat(comb2)
return enum_combinations(arr, comb)
end
puts "data:"
p arr
puts "result:"
p enum_combinations(arr)
Сорян, я в lua не оч. Писал на более понятном ЯП.
Исходная версия wandrien, :
Я еще более тупой, я не очень понял условия задачи.
Так что ли надо?
data:
["a", "b", "c", "d"]
result:
["a", "b", "ab", "c", "ac", "bc", "abc", "d", "ad", "bd", "abd", "cd", "acd", "bcd", "abcd"]
arr = ["a", "b", "c", "d"]
def enum_combinations(arr, comb = [])
return comb if arr.empty?
item = arr.shift
if comb.empty? then
comb = [item]
else
comb2 = [item]
comb.each {|i| comb2.push(i + item) }
comb = comb.concat(comb2)
end
return enum_combinations(arr, comb)
end
puts "data:"
p arr
puts "result:"
p enum_combinations(arr)
Сорян, я в lua не оч. Писал на более понятном ЯП.