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 one_count = 0
possibilities = 1 possibilities = 1
one_cache = {} one_cache = [1]
def count_one_possibilities(one_cnt: int): def count_one_possibilities(one_cnt: int):
if one_cnt not in one_cache: for idx in range(len(one_cache), one_cnt+1):
if one_cnt <= 1: one_cache.append(sum(one_cache[-3:]))
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))
return one_cache[one_cnt] return one_cache[one_cnt]