python每天1道面试题--字符串组合
Posted jason-gan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python每天1道面试题--字符串组合相关的知识,希望对你有一定的参考价值。
""" 题目3:输入一个字符串,输出该字符串中字符的所有组合。 举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。 解题思路: 先用列举法,举例出组合元素长度分别是1,2,..,len(str)时的具体元素, 然后发现当数组长度>=3之后的规律是一致的, 前n个字符合体即li[:m],拼接上后面li[m:]的每一个字符. """ def compose_str(str): li = [i for i in str] final_li = list() for m in range(len(li)): if m == 0: final_li.extend([i for i in li]) elif m == 1: for n in range(len(li)): final_li.extend([li[n]+i for i in li[n+1:]]) else: final_li.extend(‘‘.join(li[:m])+i for i in li[m:]) print(final_li) str = ‘abc‘ compose_str(str) # 输出: [‘a‘, ‘b‘, ‘c‘, ‘ab‘, ‘ac‘, ‘bc‘, ‘abc‘]
参考链接: https://blog.csdn.net/GetNextWindow/article/details/24202369,原文用java实现,具体思路可能有点不同.
以上是关于python每天1道面试题--字符串组合的主要内容,如果未能解决你的问题,请参考以下文章