獲得乙個字串的全排列

2021-06-21 12:13:58 字數 671 閱讀 6991

public class permutation else

} }/**

* @param args

*/public static void main(string args) {

// todo auto-generated method stub

permutation p = new permutation();

string s = "abcd";

stringbuilder temp = new stringbuilder(); //儲存當前已經計入的字元

for(int i=0;i這裡談一下主要思路,我首先想到的是分治法,加入字串的長度為l,那麼問題可以轉化為「將第i(0=其實在這裡我特別想談一談為什麼遞迴函式有這樣三個引數?首先,描述遞迴的狀態變數一般會作為遞迴函式的引數,就像此處f的前兩個引數,s表示此時遞迴函式處理的字串,index表示此時第乙個字元在s中的索引。那為什麼要有temp呢?原因便是,當str.length()==1時,我們要麼將這個str存起來,最後在main函式中輸出,這樣做非常複雜。要麼將以前已經確定位置的字串記錄下來,在這裡輸出,temp的作用便是記錄到目前位置已經確定位置的字串。

此處要注意的是當使用f函式輸出乙個可能的排列後,必須將temp恢復成原來的樣子,這樣才不會干擾下一步的運算。

在乙個字串中查詢另外乙個字串的全排列出現位置

1 在乙個字串中查詢另外乙個字串任意的全排列出現位置。例如 a abcfsfcba b abc 則返回。the des s character must be adjacent public static list integer getindex string res,string des has...

演算法 輸出乙個字串的全排列(C )

created by chimomo 實現方法 對於乙個字串 abc 輸出它的全排列,第乙個字元應該分別為a,b,c 第二個字元,後面應該是除去已輸出部分的剩餘部分的全排列。即對於 abc 輸出 a,輸出 abc 除去 a 的全排列 輸出 b,輸出 bc 除去 b 的全排列 輸出 c,輸出 bc 除...

在乙個字串中尋找另外乙個字串

在乙個字串中尋找另外乙個字串 public class text foundit true break test system.out.println foundit?found it didn t find it 該段程式有點難以理解,主要就是if語句的理解,if searchme.charat ...