Day 10 (better count_one_possibilities)

This commit is contained in:
Sebastian Seedorf
2020-12-10 16:11:40 +01:00
parent 06cae78503
commit 7a6e647797

View File

@@ -11,15 +11,12 @@ diff = lines[1:] - lines[:-1]
one_count = 0
possibilities = 1
one_cache = {}
one_cache = [1]
def count_one_possibilities(one_cnt: int):
if one_cnt not in one_cache:
if one_cnt <= 1:
one_cache[one_cnt] = 1
else:
one_cache[one_cnt] = sum(count_one_possibilities(less) for less in range(max(0, one_cnt - 3), one_cnt))
for idx in range(len(one_cache), one_cnt+1):
one_cache.append(sum(one_cache[-3:]))
return one_cache[one_cnt]