求字串的所有組合

2021-06-18 08:42:56 字數 514 閱讀 8798

問題:求乙個字串的所有組合。

解答:題意很清楚,是求乙個字串的所有組合,屬於中學數學知識的範疇,如給定字串str="abc",則他的所有組合有:a、b、c、ab、ac、bc、abc。交換兩個字元時雖然能得到兩個不同的排列,但是卻屬於同乙個組合,比如ab和ba是不同的排列,但是只能算乙個組合。

#include "stdafx.h"

#include void permutation(char* pstr, std::vectorpath);

void permutation(char* pstr)

void permutation(char* pstr, std::vectorpath)

else }

// ********************測試**********************

void test(char* pstr)

int _tmain(int argc, _tchar* argv)

求字串的所有組合輸出

劍指offer一書中面試題28求字串的排列,給出了遞迴演算法程式。其中擴充套件題目中提到了,求字串的所有組合。比如輸入字串 abc 輸出應為 a b c ab ac bc abc.借用書上的解題思路 如果輸入n個字元,則這n個字元能構成長度為1 長度為2 長度為n的組合。在求長度為m的組合時,可考慮...

對給定字串求所有的組合

輸入字串,輸出所有的組合,比如輸入abc,輸出 a b c ab ac bc abc。題目解法 abc用01串表示,001表示輸出c,111表示輸出abc,解法如下。空間複雜度n,時間複雜度為2 n 1,因為有這麼多種結果啊。package combination author administra...

求字元的所有組合!

求字元的所有組合,列如輸入三個字元a,b,c,則它們的組合有a,b,c,ab,ac,bc,abc。求n個字元的長度為m的組合分成兩個子問題 求n 1個字串長度為m 1的組合,以及求n 1個字元長度為m的組合。include include includeusing namespace std inc...