题目要求保持原来的对应关系,第一时间想到的是先sort好从而找到每行每列的关系,例如grid[i][j]row[i] 的 rank 是多少 在 col[j] 的 rank 是多少. 然后再根据rank继续处理。但在这里我遇到了问题。在一行里最小的不一定是这一列里最小的, 反之亦然。

所以需要找到全局最小的,然后再继续处理。这里我们发现这时候记 rank 更加有效。因为对所有数进行了排序,所以我们有正确的有限顺序,那么现在我们只需要找到已经处理过的row[i], col[j]目前大的数,如果两个数不一样则选择最大的那个,选完以后 + 1并更新row[i], col[j]最大的数