Skip to content

Latest commit

 

History

History
15 lines (13 loc) · 431 Bytes

957.-prison-cells-after-n-days.md

File metadata and controls

15 lines (13 loc) · 431 Bytes

957. Prison Cells After N Days

class Solution:
    def prisonAfterNDays(self, cells: List[int], N: int) -> List[int]:
        seen = {str(cells): N}
        while N:
            seen.setdefault(str(cells), N)
            N -= 1
            cells = [0] + [cells[i - 1] ^ cells[i + 1] ^ 1 for i in range(1, 7)] + [0]
            if str(cells) in seen:
                N %= seen[str(cells)] - N
        return cells