獲取字元組所有排列字串的演算法

2021-08-31 02:40:58 字數 509 閱讀 6126

剛看了論壇上有個很有意思的遞迴演算法題,忍不住自己也動手來寫寫看。

比如給定乙個字串 「123」, 求出用1,2,3能排列出來的所有組合。

/*** 1.對於每個需要需要獲取排列集合的字串,先獲取最左邊第乙個字元c,然後獲取右邊字串所有排列的集合

* 2.然後對每乙個排列集合中的字串,進行c的插入,從左到右,一共可以插入(長度+1)次,獲得(長度+1)新字串

* 3.遞迴呼叫的最底層,input字串只有乙個字元的時候,返回只有這個字元的排列集合

* @param input

* @return

*/public static listgetstringsorts(string input)

system.out.println("total: "+list.size());

system.out.println("validate: "+validateset.size());

獲取字串

package cn.itcast.day08.demo02 public int length 獲取字串當中含有的字元個數,拿到字串長度。public string concat string str 將當前字串和引數字串拼接成為返回值新的字串。public char charat int ind...

字串的所有排列

輸入乙個字串,列印出該字串的所有排列,例如輸入字串abc 則列印出a,b,c 所能排列出來的所有字串 abc,acd,bac,bca,cab,cba。看似簡單,其實不是很好做,應該把問題分解為子問題,我們把字串看成兩個部分,首字母自己作為一部分,後面的其他節點當做其它部分。可以看成兩部走 求出所有課...

獲取字串中的子字串

如真彩色的red,green,blue的值組成乙個字串,用逗號分開。但是逗號的位置是非固定的,因為r,g,b的各個值可以是1 3位數。下面是乙個將r,g,b的值組成的字串,通過逗號來將其分割,並分別放到陣列中。並算出其真彩色的值。sub test dim ss as string ss 12,156...