Given an m x n binary matrix filled with 0's and 1's, find the largest square containing only 1's and return its area.
- A 2D binary matrix
matrix.
- 1 <= m, n <= 300
Input: matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
Output: 4
Explanation: The largest square has side 2, area = 4.