解决这个矩阵的正确方法是什么?

时间:2017-03-19 10:14:13

标签: algorithm matrix

我们得到以下矩阵

5 7 9
7 8 4
4 2 9

我们需要找到最大的总和行或列,然后我们需要从该行或列的每个元素中减去1,然后我们需要重复此操作3次。

1 个答案:

答案 0 :(得分:0)

我会尽力解释。

矩阵为n * n,增量过程重复k次。 o(n ^ 2 + k×log(n))算法是可能的。

如果最大行/列的总和是一行,那么:

  1. 行总和增加 n

  2. 所有列总和增加1。

  3. 这两条规则也适用于列。

    对于规则一商店,所有行/列在2个AVL树中相加 (或支持 o(log(n))插入和删除的所有其他数据结构)

    对于规则二存储行/列的操作数。 (只是两个整数)

    现在取两棵树的最大值,其中两个整数对数据结构的差异起作用。更改它并更改另一个并插回。