假设我们有一个长度为 4 的向量,其中每个元素都可以是 0 到 9 之间的数字。例如:<1, 8, 0, 3>
我不想简单地遍历所有 10^4 个可能的向量,而是想按特定顺序循环。所以我想从 开始<0, 0, 0, 0>
,去<1, 0, 0, 0>
,然后:
<2, 0, 0, 0>, <3, 0, 0, 0>, ..., <9, 0, 0, 0>, <0, 1, 0, 0>
依此类推(注意最后两个的顺序)。我想不出一种方法来为可变向量长度编写这个。
假设我们处于第 i 次迭代中,i
第 th 个向量按照我上面提到的字典顺序排列。拥有第i
th 个向量对于在第 th 个向量中执行某些过程是必要的(i+1)
。该方案节省了对所有可能向量进行随机循环的计算。
我还没有真正找到解决这个问题的非蛮力和内存有效的方法。特别考虑到我应该能够支持可变向量长度和不同范围的条目数字。
不负相思意
相关分类