在这个挑战中,你需要实现扫雷游戏中点击单元格后的展开算法。
游戏规则
- 当点击一个非地雷单元格时,该单元格会显示周围8个单元格中的地雷数量
- 如果周围没有地雷(数字为0),则自动展开周围的单元格,直到遇到有数字的单元格
输入说明
- board: 二维数组,表示当前游戏板
- -1 (CODES.NOTHING): 表示未打开的单元格
- -4 (CODES.MINE): 表示地雷
- 0-8: 表示已打开的单元格,数字表示周围地雷数量
- i, j: 用户点击的坐标
任务
实现一个 expandClick 函数,模拟点击单元格后的展开效果。可以直接修改 board 中的值。
要求
- 如果点击的是地雷,不做任何处理
- 如果点击的是未打开的单元格,计算周围地雷数量并更新单元格
- 如果周围没有地雷(数字为0),则递归展开周围的单元格
- 已打开的单元格不应被重复处理
提示
- 可以使用DFS(深度优先搜索)或BFS(广度优先搜索)实现展开算法
- 注意边界条件的处理