组合问题(从M个不同字符中任取N个字符的所有组合)
2013-06-20 13:31
225 查看
#include <stdio.h> void select(char* str, int len, char* result, int start, int curr, int dest) { if (curr == dest) puts(result); else { int i; for (i = start; len - i >= dest-curr ; ++i) {//len - i >= dest-curr就是说主串还剩下的可以选取的字符应该大于等于你还需要的字符数 result[curr] = str[i]; //递归的刷新把问题递归的变小。比如1 2 3 4 要知道1的组合,我只要知道2 3 4 的组合,要知道2 3 4 的我只要知道3 4 的 select(str, len, result, i+1, curr+1, dest); } } } int main() { char *source = "ABCDE"; char result[8] = {0}; select(source, 5, result, 0, 0, 3); return 0; }
相关文章推荐
- //组合问题(从M个不同字符中任取N个字符的所有组合)
- 组合问题(从M个不同字符中任取N个字符的所有组合)
- 组合问题(从M个不同字符中任取N个字符的所有组合)
- 组合问题(从M个不同字符中任取N个字符的所有组合)
- 递归问题之一:给定一字符串,输出字符串中所有字符子串的各种组合形式,长度为一个字符到字符串的长度,忽略排序
- 剑指Offer中面试题28的扩展问题(求字符的所有组合)
- 从M个不同字符中任取N个字符的所有组合
- 从M个不同字符中任取N个字符的所有组合
- 字符串的所有组合问题,输入三个字符a,b,c,则它们的组合有a,b,c,ab,ac,bc,abc
- 用递归实现从M个不同字符中选取N个字符的所有组合
- [小算法]从M个不同字符中任取N个字符的所有组合
- 给定一个字符数组,求由这些字符组成的所有不同的排序问题.
- 确定一个字符串的所有字符全都不同算法实现
- 输出该字符串中字符的所有组合
- 传入一个字符串参数 获取这个字符串内所有字符的 不同排列情况
- 用递归法来实现字符集合的所有组合
- 字符的所有组合
- 打印一个字符串中字符的所有组合
- 字符串问题---判断字符数组中是否所有的字符只出现了一次
- LeetCode--438. Find All Anagrams in a String(找到所有字符组合)Python