Prison Cells After N Days

Medium

Description

8 cells in a row, each day cell becomes 1 if both neighbors are same, else 0. Return state after n days.

Examples

Input:cells = [0,1,0,1,1,0,0,1], n = 7
Output:[0,0,1,1,0,0,0,0]
Explanation:

State after 7 days.

Input:cells = [1], n = 7
Output:[1]
Explanation:

Edge case with a single-element array.

Input:cells = [1,1,1,0,1,1,1,0], n = 1
Output:[0,0,0,0,0,0,0,0]
Explanation:

After 1 day: cells[0] and cells[7] are always 0 (no left/right neighbor). For inner cells: cells[1] becomes 0 (neighbors 1,1 are same), cells[2] becomes 0 (neighbors 1,0 are different), cells[3] becomes 0 (neighbors 0,1 are different), cells[4] becomes 0 (neighbors 1,1 are same), cells[5] becomes 0 (neighbors 1,1 are same), cells[6] becomes 0 (neighbors 1,0 are different). This demonstrates how the transformation rule works for each position.

Constraints

  • cells.length == 8
  • 1 ≤ n ≤ 10⁹

Ready to solve this problem?

Practice solo or challenge other developers in a real-time coding battle!