Day 15 (static array length 14s -> 10s)
This commit is contained in:
@@ -2,7 +2,7 @@ from functools import reduce
|
|||||||
|
|
||||||
|
|
||||||
def yield_numbers(line: str, target: int):
|
def yield_numbers(line: str, target: int):
|
||||||
nums = {}
|
nums = [None]*target
|
||||||
turn = 0
|
turn = 0
|
||||||
last_spoken = 0
|
last_spoken = 0
|
||||||
for starting in map(int, line.split(",")):
|
for starting in map(int, line.split(",")):
|
||||||
@@ -11,7 +11,7 @@ def yield_numbers(line: str, target: int):
|
|||||||
last_spoken = starting
|
last_spoken = starting
|
||||||
yield turn, last_spoken, nums
|
yield turn, last_spoken, nums
|
||||||
for t in range(turn, target):
|
for t in range(turn, target):
|
||||||
n = t - nums[last_spoken] if last_spoken in nums else 0
|
n = t - nums[last_spoken] if nums[last_spoken] is not None else 0
|
||||||
nums[last_spoken] = t
|
nums[last_spoken] = t
|
||||||
last_spoken = n
|
last_spoken = n
|
||||||
yield t+1, last_spoken, nums
|
yield t+1, last_spoken, nums
|
||||||
|
|||||||
Reference in New Issue
Block a user