给定一个二维矩阵grid,矩阵中的值代表在矩阵那处位置的颜色。
相连的颜色被认为是一个连通区域。
连通区域的边界是指那些和不属于该连通区域的块相连的部分,或者是处于整个矩阵的边界处的部分。
给定一个位置(r0, c0),和一个颜色color。将(r0, c0)所在连通区域的颜色全部改成color,然后返回最终的矩阵grid.
示例 1:
输入: grid = [[1,1],[1,2]], r0 = 0, c0 = 0, color = 3
输出: [[3, 3], [3, 2]]
示例 2:
输入: grid = [[1,2,2],[2,3,2]], r0 = 0, c0 = 1, color = 3
输出: [[1, 3, 3], [2, 3, 3]]
示例 3:
输入: grid = [[1,1,1],[1,1,1],[1,1,1]], r0 = 1, c0 = 1, color = 2
输出: [[2, 2, 2], [2, 1, 2], [2, 2, 2]]
提示:
- 1 <= grid.length, grid.length[0] <= 50
- 1 <= grid[i][j] <= 100
- 0 <= r0 <= grid.length
- 0 <= c0 <= grid[0].length
- 1 <= color <= 1000
思路分析:
这道题就是单纯的dfs,然后判断连通区域的点是不是在边界上。
1 | class Solution: |