寻找数字组合组的算法
Algorithm in finding combination group of number
我目前卡在我正在处理的应用程序的一部分上。我不想复制所有代码并将其粘贴到此处,但让我通过一个简单的示例直接进入正题:
假设我有一个字符串 "abcdefg",我试图找到一种算法,它可以在不交换字符的情况下获得所有可能的分组,例如:
abcdeg
a, b, c, d, e, f, g
ab, c, d, e, f, g
..
..
abc, def, g
..
ab, cd, efg
..
and so on...
我认为这个例子很重要。谁能给我一个伪代码?我也理解 Java、C 和 C++,所以也许这些语言的代码片段更好,但如果不是伪代码也很好,我会尝试实现它。提前致谢。
非常简单。去掉第一个字母并将 0 或 1 与其余字母相关联。 1 表示在字母前放置一个逗号。 0 表示不要。
例如001100对应abc,d,efg.
我使用的符号是一个从零开始递增的数字的简单映射,以二进制表示。
所以三件事,(i) 计算整数,(ii) 转换为二进制,(iii) 使用该二进制作为逗号定位规则。
停止条件很明显。
我目前卡在我正在处理的应用程序的一部分上。我不想复制所有代码并将其粘贴到此处,但让我通过一个简单的示例直接进入正题:
假设我有一个字符串 "abcdefg",我试图找到一种算法,它可以在不交换字符的情况下获得所有可能的分组,例如:
abcdeg
a, b, c, d, e, f, g
ab, c, d, e, f, g
..
..
abc, def, g
..
ab, cd, efg
..
and so on...
我认为这个例子很重要。谁能给我一个伪代码?我也理解 Java、C 和 C++,所以也许这些语言的代码片段更好,但如果不是伪代码也很好,我会尝试实现它。提前致谢。
非常简单。去掉第一个字母并将 0 或 1 与其余字母相关联。 1 表示在字母前放置一个逗号。 0 表示不要。
例如001100对应abc,d,efg.
我使用的符号是一个从零开始递增的数字的简单映射,以二进制表示。
所以三件事,(i) 计算整数,(ii) 转换为二进制,(iii) 使用该二进制作为逗号定位规则。
停止条件很明显。