【发布时间】:2017-01-10 18:05:05
【问题描述】:
我有一个 1 的矩阵(只是一个 2D 整数向量),我正在尝试随机选择一个索引,以便我可以将该 1 变为 0。我的目标是只选择矩阵的每个索引一次所以在以与索引完全相同的迭代次数运行 for 循环后,矩阵将填充 0(实际上 0 并不重要,替换 1 的数字和 1 本身是任意的)。
我目前的方法很慢。一直在运行一个 while 循环,检查每个通过,看看是否还剩下任何 1。这显然是非常低效的,但我不确定如何为每个索引只执行一次并确保没有重复,以便我可以更改为 for 循环。任何建议都会非常有帮助!
【问题讨论】:
-
创建一个用矩阵的每个索引填充的数组,打乱该数组,遍历数组,将矩阵中的每个索引更改为 0。
-
做费雪-耶茨洗牌...
标签: arrays algorithm matrix vector random