1 题目:
输入参数:一个字符串,这个字符串只包含字母A-Z或者a-z
返回值:返回输入参数的所有顺序子串,不同的子串之间用逗号分隔。
顺序子串的定义是:只由输入参数中出现的字母,按照其在输入参数中出现的顺序组成的字符串。
例如:输入参数为 “abc”,返回值应该为: “abc, ab, ac, bc, a, b, c”。
该函数的Specification为:
/**
* @param word consisting only of letters A-Z or a-z
* @return all subsequences of word, separated by commas,
* where a subsequence is a string of letters found in word
* in the same order that they appear in word.
*/
public static String subsequences(String word)
2 递归解法
2.1 分析:
假设输入参数为: a1a2a3...an , 其中 a1,a2,...,an 代表输入参数中的每一个字母。
设 S(n) 表示一个集合, 其元素是: a1 到 an 共 n 个字母的所有顺序子串, S(n−1) 表示一个集合,其元素是: a2 到