可能的解决方案是什么? 我在想的是,在第一次通过时,我会注意到其中有“1”的行和列。 然后我会在每行和每列中为 1 的行制作 1。 在第 3 遍中,在每行和每列中为 1 的列中生成 1。
这似乎不是最佳选择。谁有更好的主意?
最佳答案
为矩阵中的每个字段添加一个标志,指示其值是否已被修改,初始设置为false
。
扫描矩阵,寻找 value == 1 && flag == false
的条目。将该行和列中的所有元素更改为 1,如果它们尚未包含 1,则将它们的标志设置为 true
。
作为额外的优化,您可以在行和列上设置标志,指示它们是否已经从之前的元素更新,这样您就不必再费心更新它们了。
关于algorithm - 给定一个包含随机数的矩阵,如果某个位置有1,则使该行和该列的所有元素都为1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18680140/