[問題] 遞迴問題

作者: AhPEoW (阿飄)   2018-10-25 02:23:06
大家好,這是寫資料結構的題目時碰到的問題
題目要求用遞迴寫一個程式
假如input為abc
則印出abc三個大小寫的排列組合
abc, abC, aBc, aBC, Abc, AbC, ABc, ABC
當然順序也要跟測資一致
我拿recursive和permutation當關鍵字去google過了
都只有abc, acb...這種排列組合的文章
雖然我有寫出一個用iteration的版本了
但還是被TA打槍QAQ
還請各位先進幫幫我,謝謝
作者: GGing (小軒軒)   2018-10-25 04:12:00
你漏了一個 aBC每個字母可以是大寫或小寫,所以有2^3=8種組合可以視為求元素的所有集合來寫基本上就是十進位0-7轉成二進位000-111的概念基本上就是十進位0-7轉成二進位000-111的概念
作者: cphe (魔鬼藏在垃圾筒裡)   2018-10-25 09:15:00
理論上一般的排列組合你寫得出來這題應該不會是問題,其實一樣啊 每個位子兩個選擇,選完遞迴剩下的
作者: ronin728 (浪人)   2018-10-25 15:27:00
題目的障眼法,其實這用二進制的位元做超簡單然後迴圈可以改成尾端遞迴騙騙TA
作者: flowwinds (..)   2018-10-25 19:25:00
(印第一個小寫+印其他的) 及 (印第一個大寫+印其他的)
作者: lingege32 (MUDA)   2018-10-27 18:42:00
應該是做complete binary tree,然後用遞迴做dfs
作者: bill1992 (我是魔法的蹤跡)   2018-11-11 10:01:00
遞回一個數字就好吧 每次呼叫數字+1 然後用二進位表示數字 位數是1的大寫

Links booklink

Contact Us: admin [ a t ] ucptt.com