【发布时间】:2019-05-18 09:04:21
【问题描述】:
这不完全是关于代码的问题,但我需要一些关于算法逻辑的帮助。
给定一个 NxN 矩阵,该矩阵的每一行和每一列都至少有一个零值,你将如何选择 N 个零以使每一行和每一列都有一个值?例如:
0 4 6 0 2
0 8 9 5 0
4 0 9 8 5
0 8 0 1 3
8 6 0 1 3
显然,您首先必须选择每一行或每一列上的单数零。我不确定在几行和几列上有相同数量的零的情况。我将如何选择最佳值以便不遗漏任何行或列?
【问题讨论】:
-
使用带有回溯的递归。任何解决方案都可以。如果速度不够快,您将需要更快的算法。例如,按尽可能少的个零的顺序选择行是有意义的,这样您就可以从第 3 行开始,然后是第 5 行。