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