問題描述:假如字串中所有字元都不重複,如何輸出字串的所有組合。例如:abca,結果應是a,b,c,ab,ac,bc,abc。最容易想到的就是遞迴了,但效率會變得很差,因為棧被呼叫了2^n次方,為了提高效率,可以構造乙個長度為n的01字串,表示輸出結果中是否包含某個字元,例如:001->c,010->b,101->ac......,所以原題就是要求輸出"001"-"111"這2^n-1個組合對應的字串。
public static void main(string args)
}private static arraylistcombinestring(string s)
for(int j = 0; j < str.length(); ++j)
}list.add(temp);
}return list;
}
01 輸出字串中字元的所有組合
1 def perm s 2 這裡是遞迴函式的出口,為什麼呢,因為這裡表示 乙個長度為1的字串,它的排列組合就是它自己。3if len s 1 4return s 5 sl 儲存字串的所有可能排列組合 6for i in range len s 這個迴圈,對應 解題思路1 確定字串的第乙個字母是誰,...
輸出字串的所有組合的java實現
問題描述 假設字串中的所有字元不重複,如何輸出字串的所有組合,例如,輸入字串為 abc 則輸出a b c ab ac bc abc,共7種組合。根據題意,如果字串中有n個字元,根據排列組合的性質,此時一共需要輸出2 n 1種組合。最容易想到的方式是遞迴,遍歷字串,每個字串只能取或不取。若取該字元,就...
輸出字串
5.連線字串 半形句號 是字串連線符,可以把兩個字串連線成乙個字串。例如7 5 echo str.url 技巧 我們可以使用字串連線符累加字串。例如7 6 第一句我們給 str賦值,str表示字串 php中文社群位址是 第二句表示在 str的值上累加字串 www.phpnet.cn 所以,str最後...