From accf0d0c2bf503c141890f8d11040f4ed2e2d52f Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Fri, 20 Oct 2023 08:22:16 -0400 Subject: [PATCH] Linty bits --- leetcode/pyproject.toml | 6 +++++- leetcode/spiral_matrix.py | 19 ++++++++++--------- leetcode/test_spiral_matrix.py | 2 +- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/leetcode/pyproject.toml b/leetcode/pyproject.toml index 93aadae..c8f6999 100644 --- a/leetcode/pyproject.toml +++ b/leetcode/pyproject.toml @@ -61,7 +61,7 @@ dependencies = [ "ruff>=0.0.243", ] [tool.hatch.envs.lint.scripts] -typing = "mypy --install-types --non-interactive {args:src/leetcode tests}" +typing = "mypy --install-types --non-interactive {args:.}" style = [ "ruff {args:.}", "black --check --diff {args:.}", @@ -120,6 +120,10 @@ ignore = [ "S105", "S106", "S107", # Ignore complexity "C901", "PLR0911", "PLR0912", "PLR0913", "PLR0915", + # Allow print func + "T201", + # Allow assert statements + "S101", ] unfixable = [ # Don't touch unused imports diff --git a/leetcode/spiral_matrix.py b/leetcode/spiral_matrix.py index 4ae92da..d2249de 100644 --- a/leetcode/spiral_matrix.py +++ b/leetcode/spiral_matrix.py @@ -15,17 +15,18 @@ def matrix_spiral_path(matrix: list[list[int]]) -> list[tuple[int, int]]: return snek.path +COMPASS = ( + (1, 0), # east + (0, 1), # south + (-1, 0), # west + (0, -1), # north +) + + class SpinSnek: def __init__(self, board: list[list[int]], loc: tuple[int, int] = (0, 0)): self.max_loc: tuple[int, int] = (len(board[0]) - 1, len(board) - 1) - self.spinner: itertools.cycle[tuple[int, int]] = itertools.cycle( - [ - (1, 0), # east - (0, 1), # south - (-1, 0), # west - (0, -1), # north - ] - ) + self.spinner: itertools.cycle[tuple[int, int]] = itertools.cycle(COMPASS) self.direction = next(self.spinner) self.path: list[tuple[int, int]] = [loc] self.missteps: int = 0 @@ -45,7 +46,7 @@ class SpinSnek: or next_loc in self.path ): self.direction = next(self.spinner) - if self.missteps > 3: + if self.missteps > len(COMPASS) - 1: return False self.missteps += 1 diff --git a/leetcode/test_spiral_matrix.py b/leetcode/test_spiral_matrix.py index 872dcef..27cc727 100644 --- a/leetcode/test_spiral_matrix.py +++ b/leetcode/test_spiral_matrix.py @@ -30,7 +30,7 @@ import spiral_matrix [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], ], - [] + [] # noqa + [1, 2, 3, 4, 5, 6, 7, 8, 9] # right + [9, 9, 9] # down + [9, 8, 7, 6, 5, 4, 3, 2, 1] # left