Day 10 (better count_one_possibilities)
This commit is contained in:
@@ -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]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user