class Solution {
public:
void gameOfLife(vector<vector<int>>& board) {
int row=board.size();
if(row==0)
return;
int col=board[0].size();
int i,j,k;
int dis[][2]={{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
int cnt=0;
for(k=0;k<8;k++)
{
int x=i+dis[k][0];
int y=j+dis[k][1];
if(x>=row||x<0)
continue;
if(y>=col||y<0)
continue;
if(board[x][y]==1||board[x][y]==3)
cnt++;
}
if(board[i][j]==1)
{
if(cnt<2||cnt>3)
board[i][j]=3;
}
else
{
if(cnt==3)
board[i][j]=2;
}
}
}
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
if(board[i][j]==2)
board[i][j]=1;
else if(board[i][j]==3)
board[i][j]=0;
}
}
}
};
289. Game of Life
最新推荐文章于 2022-08-28 13:46:23 发布