一整天都在经历这个,不知道在这里做什么,我觉得我需要在这里使用递归函数,任何提示都会很棒(采取的步骤,算法等)
给定一个词 w,w 的一个好的子序列被定义为一个词 w' 使得
w' 中的所有字母都不同;
w'是通过删除w中的一些字母从w中得到的。
按字典顺序返回所有好的子序列的列表,没有重复项
预期成绩:
def good_subsequences(word):
'''
>>> good_subsequences('')
['']
>>> good_subsequences('aaa')
['', 'a']
>>> good_subsequences('aaabbb')
['', 'a', 'ab', 'b']
>>> good_subsequences('aaabbc')
['', 'a', 'ab', 'abc', 'ac', 'b', 'bc', 'c']
>>> good_subsequences('aaabbaaa')
['', 'a', 'ab', 'b', 'ba']
>>> good_subsequences('abbbcaaabccc')
['', 'a', 'ab', 'abc', 'ac', 'acb', 'b', 'ba', 'bac', 'bc', 'bca', 'c', 'ca', 'cab', 'cb']
>>> good_subsequences('abbbcaaabcccaaa')
['', 'a', 'ab', 'abc', 'ac', 'acb', 'b', 'ba', 'bac','bc', 'bca', 'c', 'ca', 'cab', 'cb', 'cba']
>>> good_subsequences('abbbcaaabcccaaabbbbbccab')
['', 'a', 'ab', 'abc', 'ac', 'acb', 'b', 'ba', 'bac','bc', 'bca', 'c', 'ca', 'cab', 'cb', 'cba']
'''
我在想的是
def good_subsequences(word):
L = ['']
current_char = ''
for i in range(0,len(word)):
if current_char != word[i]:
L.append(word[i])
current_char = word[i]
L = ''.join(L)
#call up _good_sub(L)
def _good_sub(word):
#do a recursive function
拉丁的传说
繁星淼淼
慕侠2389804
相关分类