You are given a 2D matrix grid of size 3 x 3 consisting only of characters 'B' and 'W'. Character 'W' represents the white color, and character 'B' represents the black color.
Your task is to change the color of at most one cell so that the matrix has a 2 x 2 square where all cells are of the same color.
Return true if it is possible to create a 2 x 2 square of the same color, otherwise, return false.
The grid already contains a 2 x 2 square of the same color.
Constraints:
grid.length == 3
grid[i].length == 3
grid[i][j] is either 'W' or 'B'.
Solutions
Solution 1: Enumeration
We can enumerate each $2 \times 2$ square, count the number of black and white cells. If the counts are not equal, then we can construct a square of the same color, and return true.
Otherwise, return false after the traversal.
The time complexity is $O(1)$, and the space complexity is $O(1)$.