(C++!我不知道该不该提)(尽量保持顺序!)
假设我有,我有,字符串 ABaC。
我将该字符串中的每个字符都放在一个名为 temp 的向量中。
所以我有 temp[0] = A,temp[1] = B,temp[3] = a,temp[4] = C。
我想做的是正确的一个程序,它输出该字符串的每个排列,其结果是删除 0 个大写字母,然后是 1 个大写字母,然后是两个大写字母,然后是全部 3。
我删除大写字母的原因是......你不应该专注于大写字母。碰巧我需要删除这里的所有大写字母,但是,比如说 ADbd,我不需要删除 D。所以说真的,这是一种从字符串中删除一组已知字符的算法。
所以它会输出:
ABaC|BaC|AaC|ABa|aC|Aa|Ba|a
不是在这里寻找效率或算法太出色。简单而长或短而愚蠢的东西我也很满意。
这是我正在处理的一个正在进行的项目的一部分,该项目删除了 lambda 产品(你们已经帮我解决了)所以这是我需要通过从规则中删除可为空的变量来构建新的生产规则的步骤,一个一个,依此类推并输出每个排列。
但是,你们都可以忽略这一点。把它想象成字符串。因此,非常感谢任何帮助。
谢谢你。