生命游戏

你需要实现康威生命游戏的演化逻辑,计算网格的下一个世代状态。

游戏规则

  1. 任何活细胞如果邻居数量少于2个,将死于孤独
  2. 任何活细胞如果有2个或3个邻居,将继续存活
  3. 任何活细胞如果邻居数量超过3个,将死于过度拥挤
  4. 任何死细胞如果恰好有3个活邻居,将因繁殖而复活

输入输出

  • grid: 当前状态的二维数组,1表示活细胞,0表示死细胞
  • 返回值:下一代网格状态的二维数组

提示

  • 每个细胞有8个邻居(上下左右和四个对角线方向)
  • 边界处的细胞邻居数量会相应减少
  • 所有细胞的状态变化应该同时发生
  • 可以通过 grid.length 获取网格高度,grid[0].length 获取网格宽度