<p>You are given an <code>m x n</code> integer matrix <code>grid</code>, and three integers <code>row</code>, <code>col</code>, and <code>color</code>. Each value in the grid represents the color of the grid square at that location.</p> <p>Two squares belong to the same <strong>connected component</strong> if they have the same color and are next to each other in any of the 4 directions.</p> <p>The <strong>border of a connected component</strong> is all the squares in the connected component that are either <strong>4-directionally</strong> adjacent to a square not in the component, or on the boundary of the grid (the first or last row or column).</p> <p>You should color the <strong>border</strong> of the <strong>connected component</strong> that contains the square <code>grid[row][col]</code> with <code>color</code>.</p> <p>Return <em>the final grid</em>.</p> <p> </p> <p><strong>Example 1:</strong></p> <pre><strong>Input:</strong> grid = [[1,1],[1,2]], row = 0, col = 0, color = 3 <strong>Output:</strong> [[3,3],[3,2]] </pre><p><strong>Example 2:</strong></p> <pre><strong>Input:</strong> grid = [[1,2,2],[2,3,2]], row = 0, col = 1, color = 3 <strong>Output:</strong> [[1,3,3],[2,3,3]] </pre><p><strong>Example 3:</strong></p> <pre><strong>Input:</strong> grid = [[1,1,1],[1,1,1],[1,1,1]], row = 1, col = 1, color = 2 <strong>Output:</strong> [[2,2,2],[2,1,2],[2,2,2]] </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li><code>m == grid.length</code></li> <li><code>n == grid[i].length</code></li> <li><code>1 <= m, n <= 50</code></li> <li><code>1 <= grid[i][j], color <= 1000</code></li> <li><code>0 <= row < m</code></li> <li><code>0 <= col < n</code></li> </ul>