gpt4 book ai didi

algorithm - 如何生成由 `k` `0' s`和 `l` `1' s`组成的集合的所有排列,按字典顺序排列?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:05:39 24 4
gpt4 key购买 nike

如何生成由 k 0l 1 按字典顺序组成的集合的所有排列?我正在寻找伪代码或 C++ 代码。示例:

000111
001011
001101
001110
010011
010101
010110
011001
011010
011100
100011
100101
100110
101001
101010
101100
110001
110010
110100
111000

函数 next_perm01 应该像这样操作:next_perm01(permutation_{i})=next_perm01(permutation_{i-1}) 我只找到了生成所有的方法一组不同元素的排列。

最佳答案

从具有 l 的最小数字开始其中有 1:(1 << l) - 1

然后申请NextBitPermutation直到达到最高数字,即 lowest << k .

关于algorithm - 如何生成由 `k` `0' s`和 `l` `1' s`组成的集合的所有排列,按字典顺序排列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15160055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com