gpt4 book ai didi

c++ - 什么是高效打印字符串排列的算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:12:00 26 4
gpt4 key购买 nike

<分区>

下面是我知道的算法,但我讨厌这种方法的原因是它的时间复杂度是 O((n+1)!) 在大字符串的情况下太糟糕了

Start by sorting the string and printing that as the first permutation.
Now, we can find the next permutation as follows:

Let i be the last index such that input[i] < input[i + 1]. If there is no such index, then we’re done. Let j be the last index such that input[i] < input[j]. Swap input[i] with input[j]. Reverse input[i + 1] through input[input.length - 1].

有没有比上述方法更好的方法?(如果通过代码进行解释,请考虑使用 c 或 c++)...只是我期待一种比上述方法具有更小时间复杂度的更好算法

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