diff --git a/repos/9186599/Array combinations b/repos/9186599/Array combinations new file mode 100644 index 0000000..8ef050e --- /dev/null +++ b/repos/9186599/Array combinations @@ -0,0 +1,14 @@ +a=set([1,2,3,4]) +b=set([4,5,6,7]) +c=set([7,8,9]) +def array_combinations(*args): + combinations = [[i] for i in set(args[0])] + for arg in args[1:]: + tempcomb = [] + for i in set(arg): + tempcomb += [c+[i] for c in combinations if i not in c ] + combinations = tempcomb + return combinations +res = array_combinations(a,b,c) +print res +print len(res) \ No newline at end of file diff --git a/repos/9186599/Array combinations as sets b/repos/9186599/Array combinations as sets new file mode 100644 index 0000000..a843209 --- /dev/null +++ b/repos/9186599/Array combinations as sets @@ -0,0 +1,11 @@ +def array_combinations(*args): + combinations = set([frozenset([i]) for i in set(args[0])]) + for arg in args[1:]: + tempcomb = [] + for i in set(arg): + tempcomb += [frozenset(list(c)+[i]) for c in combinations if i not in c ] + combinations = set(tempcomb) + return [list(comb) for comb in combinations] +res = array_combinations(a,b) +print res +print len(res) \ No newline at end of file