gpt4 book ai didi

c++ - 打印所有字符串,O(2^n) 算法

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

假设有n个级别,在每个级别中你可以从两个可能的字符中选择一个,打印所有可能的字符串
例如:-
假设我们有 3 个级别:-
一级:- a b
level2 :- c d
level3 :- e f

可能的字符串是:-1.王牌
2. acf
3.阿德
4. adf
5. 公元前
6. bcf
7. bde
8.bdf

我知道样本空间是 2^n,所以所需时间是 O(2^n),但我不知道如何对其进行编码。有哪些可能的方法以及我必须阅读哪些主题才能解决此类问题?

最佳答案

有两个数量的选择使这很容易。将其压缩成位。像这样:

char buf[3];
for(unsigned i = 0; i < 10; ++i)
{
buf[0] = i & 4 ? 'b' : 'a';
buf[1] = i & 2 ? 'd' : 'c';
buf[2] = i & 1 ? 'f' : 'e';

std::string str = std::string(buf, 3);
}

关于c++ - 打印所有字符串,O(2^n) 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18788458/

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