Leetcode 957 N天後的牢房

2022-07-30 14:54:15 字數 751 閱讀 9292

leetcode 957.n天後的牢房

8間牢房排成一排,每間牢房不是有人住就是空著。

每天,無論牢房是被占用或空置,都會根據以下規則進行更改:

如果一間牢房的兩個相鄰的房間都被占用或都是空的,那麼該牢房就會被占用。

否則,它就會被空置。

(請注意,由於監獄中的牢房排成一行,所以行中的第乙個和最後乙個房間無法有兩個相鄰的房間。)

我們用以下方式描述監獄的當前狀態:如果第 i 間牢房被占用,則 cell[i]1,否則 cell[i]0。

根據監獄的初始狀態,在 n 天後返回監獄的狀況(和上述 n 種變化)。

cells = [1,0,0,1,0,0,1,0], n = 1000000000

[0,0,1,1,1,1,1,0]

總共有八間牢房,只有空或非空兩種狀態,共2^8 = 256狀態

n則有1e9,顯然存在相同的狀態,那麼只要找到迴圈節就可以了。

題目鏈結

class solution

else

temp.push_back(0);}}

cells = temp;

if(flag)continue;

if(flag==0&&hashtable1[id]) ///找到出現過的點

hashtable1[id]=1;

hashtable2[id]=i+1;

i++;

}return cells;

}};

Leetcode 957 N天後的牢房

8 間牢房排成一排,每間牢房不是有人住就是空著。每天,無論牢房是被占用或空置,都會根據以下規則進行更改 如果一間牢房的兩個相鄰的房間都被占用或都是空的,那麼該牢房就會被占用。否則,它就會被空置。請注意,由於監獄中的牢房排成一行,所以行中的第乙個和最後乙個房間無法有兩個相鄰的房間。我們用以下方式描述監...

LeetCode 957 N天後的牢房

題目描述 8 間牢房排成一排,每間牢房不是有人住就是空著。每天,無論牢房是被占用或空置,都會根據以下規則進行更改 如果一間牢房的兩個相鄰的房間都被占用或都是空的,那麼該牢房就會被占用。否則,它就會被空置。請注意,由於監獄中的牢房排成一行,所以行中的第乙個和最後乙個房間無法有兩個相鄰的房間。我們用以下...

Leetcode 957 N 天後的牢房(暴力)

8 間牢房排成一排,每間牢房不是有人住就是空著。每天,無論牢房是被占用或空置,都會根據以下規則進行更改 如果一間牢房的兩個相鄰的房間都被占用或都是空的,那麼該牢房就會被占用。否則,它就會被空置。請注意,由於監獄中的牢房排成一行,所以行中的第乙個和最後乙個房間無法有兩個相鄰的房間。我們用以下方式描述監...