# 求解秩矩阵

给你一个 m x n 的矩阵 matrix ，请你返回一个新的矩阵 answer ，其中 answer[row][col] 是 matrix[row][col] 的秩。

这里定义的每个元素的 秩 是一个整数，表示这个元素相对于其他元素的大小关系，它按照如下规则计算：
(1)秩是从 1 开始的一个整数。
(2)如果两个元素 p 和 q 在 同一行 或者 同一列 ，那么：
如果 p < q ，那么 rank(p) < rank(q)
如果 p == q ，那么 rank(p) == rank(q)
如果 p > q ，那么 rank(p) > rank(q)
秩 需要越 小 越好。

题目保证按照上面规则 answer 数组是唯一的。

参数说明:
m == matrix.length
n == matrix[i].length
1 <= m, n <= 500
-10e9 <= matrix[row][col] <= 10e9

# 示例

## 输入样例1
[[1,2],[3,4]]
## 输出样例1
[[1,2],[2,3]]

## 输入样例2
[[7,7],[7,7]]
## 输出样例2
[[1,1],[1,1]]

## 输入样例3
[[20,-21,14],[-19,4,19],[22,-47,24],[-19,4,19]]
## 输出样例3
[[4,2,3],[1,3,4],[5,1,6],[1,3,4]]

# 提示
输出样例1的解释说明:
matrix[0][0] 的秩为 1 ，因为它是所在行和列的最小整数。
matrix[0][1] 的秩为 2 ，因为 matrix[0][1] > matrix[0][0] 且 matrix[0][0] 的秩为 1 。
matrix[1][0] 的秩为 2 ，因为 matrix[1][0] > matrix[0][0] 且 matrix[0][0] 的秩为 1 。
matrix[1][1] 的秩为 3 ，因为 matrix[1][1] > matrix[0][1]， matrix[1][1] > matrix[1][0] 且 matrix[0][1] 和 matrix[1][0] 的秩都为 2 。
