day09 package

Subpackages

Submodules

day09.day9 module

day9 solution.

class day09.day9.ValueArray(sub_arrays: list[list[int]])[source]

Bases: object

Class representing an array and its subarrays.

extrapolate_left() None[source]

Extrapolates to the left.

extrapolate_right() None[source]

Extrapolates to the right.

generic_extrapolate(add_to_array: Callable[[list[int], int], None], calc_value: Callable[[list[int], list[int]], int]) None[source]

Generic extrapolation.

sub_arrays: list[list[int]]
day09.day9.get_input(path: str) list[ValueArray][source]

Turns inputs into nice ValueArrays.

day09.day9.interpolate(values: list[int]) list[int][source]

Interpolate a list using element-wise diffs.

Converts 3 3 3 3

to 0 0 0

Converts 1 2 3 4

to 1 1 1

Parameters:

values (list[int]) – list of values

Returns:

interpolated list

Return type:

list[int]

day09.day9.main() None[source]

Main function.

day09.day9.part1(inputs: list[ValueArray]) int[source]

Interpolates then extrapolates array to the right.

day09.day9.part2(inputs: list[ValueArray]) int[source]

Interpolates then extrapolates array to the left.

Module contents

day9 solution.