algorithm - 给定一个包含随机数的矩阵,如果某个位置有1,则使该行和该列的所有元素都为1

标签 algorithm matrix

可能的解决方案是什么? 我在想的是,在第一次通过时,我会注意到其中有“1”的行和列。 然后我会在每行和每列中为 1 的行制作 1。 在第 3 遍中,在每行和每列中为 1 的列中生成 1。

这似乎不是最佳选择。谁有更好的主意?

最佳答案

为矩阵中的每个字段添加一个标志,指示其值是否已被修改,初始设置为false

扫描矩阵,寻找 value == 1 && flag == false 的条目。将该行和列中的所有元素更改为 1,如果它们尚未包含 1,则将它们的标志设置为 true

作为额外的优化,您可以在行和列上设置标志,指​​示它们是否已经从之前的元素更新,这样您就不必再费心更新它们了。

关于algorithm - 给定一个包含随机数的矩阵,如果某个位置有1,则使该行和该列的所有元素都为1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18680140/

相关文章:

algorithm - 无痛 'Analysis of Algorithms' 培训?

android - 服务在 sleep 模式下被杀死。为什么?

c++ - STL中使用了哪种字符串匹配算法?

sorting - Julia 中的矩阵 - 排序和排序排列

java - 用Java实现RSA算法

php - 搜索矩阵寻路算法

c++ - 如何将 std::vector 转换为 Eigen 中的矩阵?

php - MYSQL n个元素矩阵

opencv - OpenCV从多个文件夹中读取多个图像

algorithm - 无限期地随机移动物体而不会发生碰撞