From 7a6e647797f54614ed9563433bb651edb1663776 Mon Sep 17 00:00:00 2001 From: Sebastian Seedorf Date: Thu, 10 Dec 2020 16:11:40 +0100 Subject: [PATCH] Day 10 (better count_one_possibilities) --- day10/part2.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/day10/part2.py b/day10/part2.py index dd71695..ed990b2 100644 --- a/day10/part2.py +++ b/day10/part2.py @@ -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]