[英]How to permute string with a number?
可以說我為每個字符都加上了字符“ A”和“ B”,我需要將其與所有數字相加...
""
/ \
"A" "B"
/ | \ / | \
/ | \ / | \
"A1" "A2" "A3" "B1" "B2" "B3"
怎么做?
我嘗試過,但是我沒有正確的遞歸想法。
通常我有一組字符[A,B,C,... z],每個字符與其他一組數字[0,... 9]排列在一起
遞歸如何解決答案? [或回溯?]我聽不懂想法。 如何處理和解決問題?
或簡單地保留它,我們就有一個array [] = {A,D}我們有偏移量[0,1,2]
我們需要用字符數組置換字符串,還要添加偏移量
A-- D+0 AD
A-- D+1 AE
A-- D+2 AF
B...D+0 BD
B...D+1 BE
B...D+2 BF
這僅是2個字符。
您需要找到兩組的笛卡爾積 (您的數字和字符)。 使用char數組保存輸入和輸出集,
您必須為每個偏移量遞歸求解。
fun(int offset,int i){
if(offset==0)
then print the array
for(;i<n;i++){
a[i]++;
fun(offset-1,i+1);
a[i]--;
}
}
這里的“ n”是具有給定字符的數組a
長度。 偽代碼為每個偏移量打印所有可能的數組。 您必須為每個偏移量調用上述數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.