Solution
unknown
python
3 years ago
607 B
6
Indexable
import functools
class Solution:
def innerMap(self, b, x):
x.append(b)
return x
def accumFunc(self, b, xs):
ds = xs.copy()
ds.remove(b)
val = self.permute(ds)
g = list(map(lambda x: self.innerMap(b, x), val))
return g
def permute(self, a: List[int]) -> List[List[int]]:
if len(a) == 0:
return []
if len(a) == 1:
return [a]
if len(a) == 2:
return [[a[0], a[1]], [a[1], a[0]]]
h = functools.reduce(lambda accum, x: self.accumFunc(x, a) + accum , a, [])
return h
Editor is loading...