【发布时间】:2020-04-19 15:20:52
【问题描述】:
我偶然发现了一个问题,我得到了一个 2D 数组形式的 5x5 矩阵,我应该找到 5 个元素的最小总和,其中每个元素应该在唯一的行和列中并打印索引这些元素和最小总和。
本题以3个测试用例为例。
测试用例 1:
{
{5, 4, 4, 1, 6},
{1, 3, 2, 4, 6},
{3, 2, 3, 2, 6},
{0, 4, 5, 4, 6},
(6, 6, 6, 6, 6}
};
Output: (3,0) (2,1) (1,2) (0,3) (4,4)
Minimum sum: 11
测试用例 2:
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}
};
Output: (0,0) (1,1) (2,2) (3,3) (4,4)
Minimum sum: 0
测试用例 3:
{
{1, 2, 3, 4, 5},
{5, 4, 3, 2, 1},
{1, 2, 7, 4, 5},
{5, 4, 3, 2, 1},
{1, 2, 3, 4, 5},
};
Output: (0,0) (2,1) (4,2) (1,3) (3,4)
Minimum sum: 9
我想了解当他们说唯一的行和列时是什么意思,我从测试用例中看到的只是列索引从 0 开始,每对索引都增加一个。我想知道如何解决这个问题。
【问题讨论】:
-
@chigo14 用 C++ 编写程序很容易,因为它具备编写此类程序所需的一切。:)
-
@chigo14 你需要写一个产生排列的函数。