From de0a250ed972512337639fb7507304be6ac47af4 Mon Sep 17 00:00:00 2001 From: Sebastian Seedorf Date: Tue, 14 Dec 2021 11:15:36 +0100 Subject: [PATCH] Day 09 (glamorized) --- day09/part1.min.py | 2 +- day09/part1.py | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/day09/part1.min.py b/day09/part1.min.py index f98c9ce..7f1f415 100644 --- a/day09/part1.min.py +++ b/day09/part1.min.py @@ -1,2 +1,2 @@ #!/usr/bin/env python3 -import numpy as p;import scipy.ndimage as i;a=p.array([[int(n)for n in line.strip()]for line in open("input.txt")]);n=i.generate_binary_structure(len(a.shape),1);print(sum(a[p.where((i.minimum_filter(a,footprint=n)==a)*~(i.maximum_filter(a,footprint=n)==a))]+1)) +import numpy as p;import scipy.ndimage as i;a=p.array([[int(n)for n in line.strip()]for line in open("input.txt")]);n=p.array([[0,1,0],[1,1,1],[0,1,0]]);print(sum(a[p.where((i.minimum_filter(a,footprint=n)==a)*~(i.maximum_filter(a,footprint=n)==a))]+1)) diff --git a/day09/part1.py b/day09/part1.py index a551335..383ca6d 100644 --- a/day09/part1.py +++ b/day09/part1.py @@ -2,13 +2,11 @@ import numpy as np import scipy.ndimage.filters as filters -import scipy.ndimage.morphology as morphology - arr = np.array([[int(n) for n in line.strip()] for line in open("input.txt")]) # https://stackoverflow.com/questions/3986345/how-to-find-the-local-minima-of-a-smooth-multidimensional-array-in-numpy-efficie -neighborhood = morphology.generate_binary_structure(len(arr.shape), 1) +neighborhood = np.array([[0, 1, 0], [1, 1, 1], [0, 1, 0]]) local_min = filters.minimum_filter(arr, footprint=neighborhood) == arr local_max = filters.maximum_filter(arr, footprint=neighborhood) == arr local_min_without_plateau = np.logical_and(local_min, np.logical_not(local_max))