Add coding exercises for Facebook interviews

Add attempts at solving coding problems to Briefcase.
This commit is contained in:
William Carroll 2020-11-12 14:37:29 +00:00
parent d2d772e43e
commit aa66d9b83d
66 changed files with 2994 additions and 0 deletions

View file

@ -0,0 +1,19 @@
# permutations: no repeat characters
def char_and_rest(i, xs):
return xs[i], xs[0:i] + xs[i + 1:]
def permutations(xs):
if len(xs) == 1:
return [xs]
result = []
for c, rest in [char_and_rest(i, xs) for i in range(len(xs))]:
result += [c + perm for perm in permutations(rest)]
return result
expected = ["cat", "cta", "act", "atc", "tca", "tac"]
result = permutations("cat")
print(result, expected)
assert len(result) == len(expected)
assert result == expected
print("Success!")