摘要: 问题给出字符串S和T,计算S中为T的不同的子序列的个数。一个字符串的子序列是一个由该原始字符串通过删除一些字母(也可以不删)但是不改变剩下字母的相对顺序产生的一个新字符串。如,ACE是ABCDE的一个子序列,但是AEC不是。这里有一个例子:S=“rabbbit”,T=“rabbit”返回值应为3初始思路要找出子序列的个数,首先要有找出S中为T的子序列的方法。T是S的子序列,首先其每一个字母肯定会在S中出现,通过遍历T的每一个字母即可完成这个检查。而根据不能乱序的要求,下一个字母在S中出现的位置不能在上一个字母在S中出现的位置之前。由此,我们得到下面的算法:循环遍历T 如果当前字母在S中,而且在 阅读全文
posted @ 2013-07-15 23:09 Shawnone 阅读(3455) 评论(1) 推荐(0) 编辑