python每天1道面试题(3)--字符串组合
生活随笔
收集整理的這篇文章主要介紹了
python每天1道面试题(3)--字符串组合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
"""
題目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實現,具體思路可能有點不同.
轉載于:https://www.cnblogs.com/jason-Gan/p/10977011.html
總結
以上是生活随笔為你收集整理的python每天1道面试题(3)--字符串组合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 精灵线程_Java线程的状态分
- 下一篇: louvain算法python_pyth